检测ListView滚动到底部的时间

时间:2013-04-29 13:58:02

标签: wpf listview gridview .net-4.0 scrollviewer

我有一个相当标准的ListView和一个GridView:

<ListView x:Name="ListViewProducts" ItemsSource="{Binding Products}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Id" Width="50" DisplayMemberBinding="{Binding Id}"/>
            <GridViewColumn Header="Name" Width="200" DisplayMemberBinding="{Binding Name}"/>
        </GridView>
    </ListView.View>
</ListView>

我想对这个ListView实现无限滚动,一旦用户滚动到列表底部,就会加载新项目。我试图使用VisualTreeHelper获取ListView的ScrollViewer,但ListViewProduct显然没有子项:

VisualTreeHelper.GetChildrenCount(ListViewProducts) // Gives 0

因为孩子的数量是0,所以这样的答案将不起作用:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/794815aa-9a1e-4b57-b097-71d8672f331b/

如何检测用户何时滚动到ListView的底部?

1 个答案:

答案 0 :(得分:0)

我想你必须获取ScrollViewer的内部ListView,因为我认为ScrollViewer正在提供滚动行为。
管理完成后,this post可能会帮助您。