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的RelayCommand
。
答案 0 :(得分:3)
EventTrigger
不会触发路由事件。您可以使用this article中提出的解决方案
创建RoutedEventTrigger
类并使用它而不是EventTrigger
。
答案 1 :(得分:0)
我建议使用此行为。如果你没有Blend,你需要获得Blend SDK。但是一旦你有了,你可以按照this tutorial来扩展ScrollViewer的行为。