如何在WPF中使用MaterialDesign:PackIcon中的点击事件?

How to use click event in MaterialDesign:PackIcon in WPF?

我在 WPF 应用程序中使用了 materialDesign:PackIkon

这是我在 xaml 的 PackIcon

代码
<ListViewItem Background="White" Height="55" >
         <StackPanel Orientation="Horizontal">
             <materialDesign:PackIcon Kind="CardMembership" MouseDown="PackIconMember_MouseDown" Height="40" Width="25" Foreground="#FF0959A8" />
             <Button  x:Name="btnMember" Click="btnMember_Click" Content="Member" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="Black" FontSize="10" />
           </StackPanel>
  </ListViewItem>

我的 xaml 里有几个 PackIcon。他们每个人都在不同的列表视图中。

我想要的是当用户点击 Icon 时它将处理 PackIconMember_MouseDown

中的事件

我上面的代码没有错误,问题有时是代码工作。我的意思是当用户点击图标时它会处理事件。但有时用户需要多次点击才能处理事件。我不知道为什么会这样。

知道我应该用它做什么吗?或任何替换 MouseDown 事件的建议。

它只有在我点击蓝色图标时才有效。 当我单击用箭头显示的白色 space 时,它不起作用。当用户单击图标上的任意位置时,我该怎么做才能使其工作?可能吗?

如果我在按钮里面做,packIcon 不会出现

 <Button Background="{x:Null}" BorderBrush="{x:Null}" Foreground="Black" Height="20" Width="25" Margin="10">
    <materialDesign:PackIcon MouseDown="PackIconMember_MouseDown" TouchDown="PackIconMember_MouseDown" Kind="CardMembership" />
 </Button>

将图标作为按钮的一部分,例如:

<Button  x:Name="btnMember" Click="btnMember_Click" Content="Member" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="Black" FontSize="10" >
     <materialDesign:PackIcon Kind="CardMembership" Height="40" Width="25" Foreground="#FF0959A8" />
</Button

但是你必须设置边距

PackIconBackground属性设为Transparent:

<materialDesign:PackIcon Kind="CardMembership" MouseDown="PackIconMember_MouseDown" Height="40" Width="25" Foreground="#FF0959A8"
                         Background="Transparent" />

这应该也捕获图标 "empty" 部分的点击。