C# StackPanel的鼠标滚轮事件命令

C# StackPanel的鼠标滚轮事件命令,c#,wpf,mvvm,mvvm-light,C#,Wpf,Mvvm,Mvvm Light,我有一个StackPanel,里面有一个Listview。 我希望能够在窗口内滚动,以更改selectedItem 澄清 我想在鼠标滚轮滚动时更改ViewModels SelectedItem 我找不到通过EventToCommand将命令绑定到事件的方法 我以为这样做可以成功 <StackPanel> <i:EventTrigger EventName="MouseWheel"> <cmd:EventToCommand PassEventA

我有一个StackPanel,里面有一个Listview。 我希望能够在窗口内滚动,以更改selectedItem

澄清 我想在鼠标滚轮滚动时更改ViewModels SelectedItem

我找不到通过EventToCommand将命令绑定到事件的方法

我以为这样做可以成功

<StackPanel>
    <i:EventTrigger EventName="MouseWheel">
        <cmd:EventToCommand PassEventArgsToCommand="True" 
              Command="{Binding MouseScrollCommand}">
        </cmd:EventToCommand >
    </i:EventTrigger>
    <ListView/>
</StackPanel>

但这让我犯了一个错误,指出eventtrigger只能分配给UIElement

然后我在ListView中尝试了一下——这也不起作用


如何将事件(带有args)绑定到滚轮事件?

我想您已经差不多做到了,但是您需要将EventTrigger包装到类中:


您应该找到将引发事件的,并调用您的命令


Interaction类处理关联对象上的事件,并通过EventTriggers传播它们。

不用担心。如果这解决了您的问题,请不要忘记将问题标记为已回答:)哦,对不起-我想是的:)-已修复
<StackPanel>
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="MouseWheel">
            <cmd:EventToCommand PassEventArgsToCommand="True" 
                  Command="{Binding MouseScrollCommand}">
            </cmd:EventToCommand >
        </i:EventTrigger>
    </i:Interaction.Triggers>
    <ListView/>
</StackPanel>