我有一个WPF ListBox,我想添加分页,因为它开始变慢一堆项目。我的问题是我使用分组,排序和过滤。这意味着如果我使用LINQ Skip()和Take()方法限制数据或使用像分页ObservableCollection这样的东西,分组和排序将是错误的,因为它只会应用于第一页数据。过滤会更糟糕,因为它只会过滤当前显示中显示的数据,这意味着您必须在显示的页面上才能搜索它。
我不太喜欢重写所有逻辑的想法。我看到Silverlight 3正在获取一个PagedCollectionView(但据我所知,.NET 4中的WPF没有得到它)。有没有人之前实现过类似的东西,或者对如何解决这个问题有任何想法?
答案 0 :(得分:0)
查看我实现的一个简单的Paginated ObservableCollection - 适用于Silverlight和WPF
http://jobijoy.blogspot.com/2008/12/paginated-observablecollection.html