我有一个StackPanel,里面有一个Listview。我希望能够在窗口内滚动,以更改selectedItem。
,以澄清;,我想在鼠标轮滚动时更改我的ViewModels SelectedItem。
我无法通过EventToCommand找到将命令绑定到事件的方法
我以为它可以通过
<StackPanel>
<i:EventTrigger EventName="MouseWheel">
<cmd:EventToCommand PassEventArgsToCommand="True"
Command="{Binding MouseScrollCommand}">
</cmd:EventToCommand >
</i:EventTrigger>
<ListView/>
</StackPanel>但这给我带来了一个错误,即事件触发器只能对UIElement进行分析。
然后我在ListView里面试了一下--这也不起作用。
如何将事件(用args)绑定到滚动轮事件?
发布于 2015-07-22 14:54:05
我认为您已经快到了,但是您需要将您的EventTrigger封装在System.Windows.Interactivity相互作用类中:
<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传播它们。
https://stackoverflow.com/questions/31565843
复制相似问题