XAML .NET MAUI `Button.OnClicked`事件在单击/点击时不触发

zynd9foi  于 2023-11-14  发布在  .NET
关注(0)|答案(1)|浏览(165)

在后面的代码中添加Clicked事件处理程序并将其添加到XAML中的Button之后,HandleClicked事件处理程序在点击按钮时永远不会触发。
我做错了什么导致Button.Clicked事件没有触发?

MainPage.xaml
<Button x:Name="AddButton"
  Clicked="HandleClicked"
  Text="Add"
  HorizontalOptions="Start"
  VerticalOptions="End"
  WidthRequest="100">
  <Button.GestureRecognizers>
    <PointerGestureRecognizer PointerEntered="PointerGestureRecognizer_PointerEntered" />
  </Button.GestureRecognizers>
</Button>

字符串

MainPage.xaml.cs

async void HandleClicked(object? sender, EventArgs e)
{
  var toast = CommunityToolkit.Maui.Alerts.Toast.Make("Add has been clicked");
  await toast.Show();
}

复制步骤

1.在Android设备/模拟器上运行项目
1.将底部的扩展器扩展
1.试着点击其中一个按钮
1.没有吐司

公共复制项目仓库链接

https://github.com/glenn2223/Community-Toolkit-Mail-Android-Expander-Issue

9w11ddsr

9w11ddsr1#

问题是你已经给你的Button添加了一个GestureRecognizer,它覆盖了Clicked操作。
删除GestureRecognizer时,将触发Clicked事件:

<Button x:Name="AddButton"
          Clicked="AddClicked"
          Text="Add"
          HorizontalOptions="Start"
          VerticalOptions="End"
          WidthRequest="100">
  </Button>

字符串
我不知道这种行为是否是.NET MAUI工程团队的意图。我建议在.NET MAUI GitHub Repo上打开此问题。

相关问题