我正在使用这种方式从 XAML 捕获事件:

<i:Interaction.Triggers>
    <i:EventTrigger EventName="MouseWheel">
        <ei:CallMethodAction MethodName="ChangeValue" TargetObject="{Binding DataContext}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

这种方式效果很好,我可以在我的代码中触发我的 ChangeValue 函数。
但我想知道我的 ChangeValue 函数上的鼠标滚轮方向(向上或向下)。
有没有办法做到这一点?

最佳答案

您可以使用 MVVM Light EventToCommand ,它也有一个 PassEventArgsToCommand 属性。然后,定义一个接收事件 args 作为参数的命令,而不是一个方法。您的 XAML 应如下所示:

<i:Interaction.Triggers>
    <i:EventTrigger EventName="MouseWheel">
        <cmd:EventToCommand Command="{Binding ChangeValueCommand}"
                            PassEventArgsToCommand="True" />
    </i:EventTrigger>
</i:Interaction.Triggers>

关于wpf - 使用交互触发器时获取 EventArgs,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13422146/

10-12 01:40