当我的鼠标位于切换按钮上时,我正在尝试调用命令。
我有以下代码。
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Cursor" Value="Hand"></Setter>
<Setter Property="Command" Value="{Binding Path=PushPinMouse}" />
</Trigger>
当我滚动鼠标时,手显示。但是,当我将鼠标滑过它时,它没有按下我的PushPinMouse方法。为什么会这样?
答案 0 :(得分:1)
这里你需要的是附加行为。我可以建议你看看这篇好文章: http://blogs.microsoft.co.il/blogs/tomershamam/archive/2009/04/14/wpf-commands-everywhere.aspx
您的代码看起来像(使用附加命令库):
<Style>
<Setter Property="ts:CommandSource.Trigger">
<Setter.Value>
<ts:PropertyCommandTrigger Property="IsMouseOver" Value="true" Command="{Binding Path=PushPinMouse}"/>
</Setter.Value>
</Setter>
</Style>
这说:“当鼠标结束时,执行PushPinMouse命令”。如果这不是您需要的行为,也许您可以调整此代码;) 与其他人说的一样,按钮命令仅在单击时执行,但此库可以向其他事件添加命令(而路由事件或属性更改事件)。
您仍然需要此触发器:
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Cursor" Value="Hand"></Setter>
</Trigger>
答案 1 :(得分:0)
点击时,命令由ToggleButton等控件执行。我不了解您的场景,但可能您可以在您的setter中设置IsChecked属性,并将属性绑定到IsChecked。希望它有所帮助。
答案 2 :(得分:0)
您正在更改按钮将触发的命令,但在您单击它之前它实际上并不执行该按钮。因此,在这种情况下,您必须将鼠标悬停在上,然后单击才能执行该命令。
我还假设您已使用CommandBinding将命令绑定到命令函数?
答案 3 :(得分:-1)
命令未绑定,您需要分配命令 使用Command = PushPinMouse