7

WPFListView类可以设置为在没有外部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-RelayCommand来自我的视图模型。

4

2 回答 2

3

EventTrigger不会触发路由事件。您可以使用本文中提出的解决方案 来创建一个RoutedEventTrigger类并使用它来代替EventTrigger.

于 2012-07-30T13:07:40.047 回答
0

我为此推荐一种行为。如果您没有 Blend,则需要获取 Blend SDK。但是一旦你有了它,你就可以按照本教程来扩展 ScrollViewer 的行为。

于 2012-07-30T13:18:13.923 回答