我有一个按钮,它需要执行两个单独的命令(一个命令启动某件事,一个命令停止某件事)。经过一些研究后,System.Windows.Interactivity.dll似乎提供了一种简便的方法来完成此任务。但这不适用于鼠标左键(如果我使用类似MouseDoubleClick或MouseRightButtonDown的事件,但不能使用MouseDown,MouseUp或MouseRightButtonDown的事件,则它确实起作用)...好像按钮占用了事件本身和交互一样.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>

最佳答案

您可以改用PreviewMouseDownPreviewMouseUp

08-26 16:49