大佬教程收集整理的这篇文章主要介绍了如何在不使用分页的情况下实现延迟加载的Silverlight数据网格,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
现在我想要一个带滚动条但没有寻呼机的数据网格.底层DomainDatasource应仅加载在网格中显示的数据.当用户向下滚动到尚未在数据上下文中的项时,它应该触发另一个加载.是否有任何示例实现如何执行此操作?
为了展示它的易用性,以下是样本中的一些片段.首先,这是你如何使用VirtualCollection,这是一个坐标获取数据的类:
public class Mainviewmodel : viewmodel { private Netflixtitlessource _source; public VirtualCollection<title> Items { get; private set; } public Mainviewmodel() { _source = new Netflixtitlessource(); Items = new VirtualCollection<title>(_source,pageSize: 20,cachedPages: 5); } protected override void OnViewLoaded() { Items.refresh(); } }
在XAML中,您只需将Items属性绑定到ListBox或DataGrid的Itemssource属性
对于每个数据源,您必须实现VirtualCollectionsource.以下是NetflixTitlesSource的两个关键方法:
public class Netflixtitlessource : VirtualCollectionsource<title> { protected override Task<int> GetCount() { return GetQueryResults(0,1,null) .ConTinueWith(t => (int)t.Result.@R_589_10586@lCount,TaskConTinuationOptions.ExecuteSynchronously); } protected override Task<IList<title>> GetPageAsyncOverride(int start,int pageSize,IList<SortDescription> sortDescriptions) { return GetQueryResults(start,pageSize,sortDescriptions) .ConTinueWith(t => (IList<title>)((IEnumerable<title>)t.Result).ToList(),TaskConTinuationOptions.ExecuteSynchronously); } private Task<QueryOperationResponse<title>> GetQueryResults(int start,IList<SortDescription> sortDescriptions) { // code to query the Netflix OData API } }
以上是大佬教程为你收集整理的如何在不使用分页的情况下实现延迟加载的Silverlight数据网格全部内容,希望文章能够帮你解决如何在不使用分页的情况下实现延迟加载的Silverlight数据网格所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。