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

我materialDesign:PackIkon在我的 WPF 应用程序中使用过。


这是我在 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活动的建议。

http://img4.mukewang.com/63a69b6600010cce05650154.jpg

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


如果我在按钮里面做,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>


开满天机
浏览 662回答 2
2回答

白猪掌柜的

将 的Background属性设置PackIcon为Transparent:<materialDesign:PackIcon&nbsp;Kind="CardMembership"&nbsp;MouseDown="PackIconMember_MouseDown"&nbsp;Height="40"&nbsp;Width="25"&nbsp;Foreground="#FF0959A8" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Background="Transparent"&nbsp;/>这也应该捕获图标“空白”部分的点击。

繁花不似锦

使图标成为按钮的一部分,例如:<Button&nbsp; x:Name="btnMember" Click="btnMember_Click" Content="Member" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="Black" FontSize="10" >&nbsp; &nbsp; &nbsp;<materialDesign:PackIcon Kind="CardMembership" Height="40" Width="25" Foreground="#FF0959A8" /></Button但是你必须设置边距
打开App,查看更多内容
随时随地看视频慕课网APP