我有一个按钮,需要执行两个单独的命令(一个用于启动,一个用于停止它)。在做了一些研究后,System.Windows.Interactivity.dll似乎提供了一种简单的方法来实现这一目标。但它不适用于鼠标左键(如果我使用像 MouseDoubleClick 或 MouseRightButtonDown 这样的事件,但它不是 MouseDown ,它确实有效, MouseUp 或 MouseRightButtonDown )......似乎按钮消耗了事件本身,而interaction.trigger从未看到它。我在下面提供了我的XAML片段,我该怎么做才能解决这个问题?
<Button Content="DoStuff">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDown">
<i:InvokeCommandAction Command="{Binding StartCommand}" />
</i:EventTrigger>
<i:EventTrigger EventName="MouseUp">
<i:InvokeCommandAction Command="{Binding StopCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
答案 0 :(得分:6)
您可以使用PreviewMouseDown
和PreviewMouseUp
代替
答案 1 :(得分:0)
mouseleftbuttondown,mouseleftbuttonup