如何在XAML中使用MouseUp和MouseDown事件的按钮上的交互触发?

时间:2013-09-24 19:14:32

标签: wpf xaml

我有一个按钮,需要执行两个单独的命令(一个用于启动,一个用于停止它)。在做了一些研究后,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>

2 个答案:

答案 0 :(得分:6)

您可以使用PreviewMouseDownPreviewMouseUp代替

答案 1 :(得分:0)

mouseleftbuttondown,mouseleftbuttonup