WPF交互触发鼠标滚轮不起作用

时间:2018-11-12 08:20:19

标签: c# wpf xaml

我将这个xaml附加到网格上(并且我已经在堆栈面板上尝试过了):

<i:Interaction.Triggers>
    <i:EventTrigger EventName="MouseWheel">
        <i:InvokeCommandAction Command="{Binding PreviousWeekCommand}"/>
    </i:EventTrigger>
</i:Interaction.Triggers>

我添加了名称空间:

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

,并在我的解决方案中引用了交互dll。这是我第一次尝试使用互动式触发器,因此我不确定为什么它不起作用-也就是说,鼠标滚轮对我滚动都没有任何作用。我知道该命令有效,因为它与正常工作的按钮的命令相同。我没有错误,也没有使用任何mvvm框架或任何东西。我错过了一步吗?

1 个答案:

答案 0 :(得分:1)

发布的代码可以正常工作。出现问题的原因应该是使用触发器的DataContext元素没有PreviousWeekCommand命令。您可以使用RelativeSource

进行绑定
<i:InvokeCommandAction Command="{Binding DataContext.PreviousWeekCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ControlTypeWhereDataContextHasPreviousWeekCommand}}"/>