实现摘要列表的技术指南
1. 分页问题与解决方案
在实现列表分页功能时,会遇到 DataPager 控件的 ItemCount 属性是只读的问题。该属性用于计算总页数,它从绑定源的属性中获取值(前提是该源实现了 IPagedCollectionView 接口)。 DomainDataSource 控件返回的 DomainDataSourceView 实现了此接口,能实现正确的分页行为:
- 当用户在页面间导航时,处理对服务器的重新查询。
- 缓存分页结果,避免重复向服务器请求已获取的数据。
- 通过 ItemCount 属性暴露总项数,使 DataPager 控件能处理页面导航(即便客户端并非拥有所有项)。
然而,我们无法直接使用 DomainDataSourceView ,因为其构造函数作用域被标记为内部,无法创建实例。同时, PagedCollectionView 的 ItemCount 属性也是只读的。因此,需要创建自己的视图,实现 IPagedCollectionView 接口,并自行实现 DomainDataSourceView 的功能。之后,将服务器返回的集合分配给 DataGrid 或 ListBox 的 ItemsSource
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



