如何在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
但是你必须设置边距
将PackIcon
的Background
属性设为Transparent
:
<materialDesign:PackIcon Kind="CardMembership" MouseDown="PackIconMember_MouseDown" Height="40" Width="25" Foreground="#FF0959A8"
Background="Transparent" />
这应该也捕获图标 "empty" 部分的点击。
我在 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
但是你必须设置边距
将PackIcon
的Background
属性设为Transparent
:
<materialDesign:PackIcon Kind="CardMembership" MouseDown="PackIconMember_MouseDown" Height="40" Width="25" Foreground="#FF0959A8"
Background="Transparent" />
这应该也捕获图标 "empty" 部分的点击。