我有一个带有Listview的StackPanel。 我希望能够在窗口内滚动,以更改selectedItem。
澄清; 我想在滚动鼠标滚轮时更改我的ViewModels SelectedItem。
我找不到通过EventToCommand
将命令绑定到事件的方法我认为可以通过
来取消它.bind(variable)
但是这给我一个错误,说明eventtrigger只能被绑定到UIElement。
然后我尝试了ListView - 它也没有用。
如何将事件(带有args)绑定到滚轮事件?
答案 0 :(得分:2)
我认为你几乎就在那里,但是你需要将你的EventTrigger包装在System.Windows.Interactivity Interaction类中:
<StackPanel>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseWheel">
<cmd:EventToCommand PassEventArgsToCommand="True"
Command="{Binding MouseScrollCommand}">
</cmd:EventToCommand >
</i:EventTrigger>
</i:Interaction.Triggers>
<ListView/>
</StackPanel>
您应该会发现会引发事件,然后调用您的命令。
Interaction类处理关联对象上的事件,并通过EventTriggers传播它们。