C# 命令的XAML Setter属性

C# 命令的XAML Setter属性,c#,xaml,C#,Xaml,当我的鼠标在切换按钮上时,我试图调用一个命令 我有以下代码 <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Cursor" Value="Hand"></Setter> <Setter Property="Command" Value="{Binding Path=PushPinMouse}" /> </Trigger> 当我把鼠标翻过来时,手就露出来

当我的鼠标在切换按钮上时,我试图调用一个命令

我有以下代码

<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Cursor" Value="Hand"></Setter>
<Setter Property="Command" Value="{Binding Path=PushPinMouse}" />
</Trigger>


当我把鼠标翻过来时,手就露出来了。但是,当我把鼠标滚动到上面时,它没有击中我的按键鼠标方法。。这是为什么?

命令在单击时由诸如ToggleButton之类的控件执行。我不知道您的场景,但可能您可以在setter中设置IsChecked属性,并将属性绑定到IsChecked。希望它能帮上忙。

命令在单击时由ToggleButton等控件执行。我不知道您的场景,但可能您可以在setter中设置IsChecked属性,并将属性绑定到IsChecked。希望有帮助。

命令没有绑定,您需要分配命令
使用Command=PushPinMouse

命令未绑定,您需要分配命令
使用Command=PushPinMouse

您正在更改按钮将触发的命令,但在您单击按钮之前,它实际上不会执行该按钮。因此,在这种情况下,您必须将鼠标放在上面并单击以执行命令


我还假设您已使用CommandBinding将命令绑定到命令函数?

您正在更改按钮将触发的命令,但在单击按钮之前,它不会实际执行该按钮。因此,在这种情况下,您必须将鼠标放在上面并单击以执行命令


我还假设您已经使用CommandBinding将命令绑定到命令函数?

这里需要的是附加行为。我可以推荐你看这篇好文章:

您的代码如下所示(带有附加的命令库):


上面写着:“鼠标悬停时,执行PushPinMouse命令”。如果这不是您需要的行为,也许您可以修改此代码;) 正如其他人所说,按钮命令仅在单击时执行,但此库可以将命令添加到其他事件(而路由事件或属性更改事件)

您仍然需要此触发器:

<Trigger Property="IsMouseOver" Value="True">
  <Setter Property="Cursor" Value="Hand"></Setter>
</Trigger>

这里需要的是附加行为。我可以推荐你看这篇好文章:

您的代码如下所示(带有附加的命令库):


上面写着:“鼠标悬停时,执行PushPinMouse命令”。如果这不是您需要的行为,也许您可以修改此代码;) 正如其他人所说,按钮命令仅在单击时执行,但此库可以将命令添加到其他事件(而路由事件或属性更改事件)

您仍然需要此触发器:

<Trigger Property="IsMouseOver" Value="True">
  <Setter Property="Cursor" Value="Hand"></Setter>
</Trigger>