Wpf 将命令附加到ScrollViewer.ScrollChanged的ListView

Wpf 将命令附加到ScrollViewer.ScrollChanged的ListView,wpf,mvvm,mvvm-light,eventtrigger,eventtocommand,Wpf,Mvvm,Mvvm Light,Eventtrigger,Eventtocommand,WPFListView类可以设置为自动处理滚动,而无需外部ScrollViewer,并且可以通过编写XAML为控件的内部滚动条注册事件处理程序,如下所示: <ListView ScrollViewer.ScrollChanged="ScrollChanged" /> 如何将其附加到MVVM light命令?我尝试了以下方法,但无效: <ListView> <i:Interaction.Triggers> <i:EventT

WPF
ListView
类可以设置为自动处理滚动,而无需外部
ScrollViewer
,并且可以通过编写XAML为控件的内部滚动条注册事件处理程序,如下所示:

<ListView ScrollViewer.ScrollChanged="ScrollChanged"  />

如何将其附加到MVVM light命令?我尝试了以下方法,但无效:

<ListView>
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="ScrollViewer.ScrollChangedEvent">
            <cmd:EventToCommand Command="{Binding ScrollCommand}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</ListView>


注意:
ScrollCommand
-是来自我的viewmodel的
中继命令。

EventTrigger
不会触发路由事件。您可以使用中建议的解决方案
要创建一个
RoutedEventTrigger
类并使用它而不是
EventTrigger

,我建议使用此行为。如果没有Blend,则需要获取Blend SDK。但是一旦你有了它,你就可以扩展ScrollViewer的行为。

你使用的是一种行为,EventToCommand行为。但是您可以编写一个自定义的程序来搜索ListView的ScrollViewer并连接到“ScrolledChanged”事件。还可以根据允许绑定命令的行为添加DependencyProperty。在事件处理程序中,您可以调用绑定到的命令。谢谢,这非常有用,但现在我遇到了另一个问题:我无法从中获取任何参数。