Xaml绑定到命令

时间:2009-09-15 19:47:58

标签: c# xaml

当我的鼠标位于切换按钮上时,我正在尝试调用命令。

我有以下代码。

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

当我滚动鼠标时,手显示。但是,当我将鼠标滑过它时,它没有按下我的PushPinMouse方法。为什么会这样?

2 个答案:

答案 0 :(得分:0)

设置按钮的Command属性不应该触发命令。它应该指定一个命令,单击该按钮时将触发该命令。 MSDN says so马上:

  

获取或设置按下此按钮时要调用的命令。

答案 1 :(得分:0)

没有直接的方法可以做到这一点。一种常见的模式是制作附加行为,该行为将听取相关事件并发起事件。

这个CodeProject arcticle on the Cinch Framwork演示了一个好的,简单的实现。查找LifetimeEvent类实现。这提供了附加行为,该行为订阅表单上的“已激活”事件。您可以轻松地创建一个侦听IsMouseOver更改并触发命令的人。

如果你写了,那么你可以这样做:

<Button local:HoverBehavior.Hovering="{Binding MyCommand}" />

您可以使用Expression Blend SDK中的Behavior<T>类以更简单的方式实现此功能。