WP & Win10开发:实现ListView下拉加载的两种方法
来源:互联网 发布:linux安装glibc2.14 编辑:程序博客网 时间:2024/06/05 20:44
1.通过ListView控件的ContainerContentChanging方法。该方法在列表项被实例化时触发,在列表项最后一个项目实例化的时候触发刷新数据逻辑就可以实现下拉加载了。
2.通过获取ListVeiw的ScrollViewer 和 ScrollBar,监控ScrollBar的ValueChange事件,在ScroolBar滚动到最底部时触发刷新数据逻辑。
感兴趣的小伙伴欢迎加入我的Win10开发交流群:53078485
代码如下:
//list_ContainerContentChanging在列表项被实例化是触发。
private void list_ContainerContentChanging(ListViewBase sender, ContainerContentChangingEventArgs args) { if (!isLoading) { if (args.ItemIndex == list.Items.Count - 1) { isLoading = true; //加载需要加载的内容 Task.Factory.StartNew(async () => { await Task.Delay(1000); await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { int sum = Items.Count; for (int i = sum; i < sum+50; i++) { Items.Add(new Item(i.ToString())); } isLoading = false; }); }); } } }
2.通过获取ListVeiw的ScrollViewer 和 ScrollBar,监控ScrollBar的ValueChange事件,在ScroolBar滚动到最底部时触发刷新数据逻辑。
代码如下:
//在ListView加载后获取Scrollview和ScrollBar,否则可能会获取不到。<span style="font-size:14px;">private void list_Loaded(object sender, RoutedEventArgs e) { sv = FindVisualChildByName<ScrollViewer>(list, "ScrollViewer"); sb = FindVisualChildByName<ScrollBar>(sv, "VerticalScrollBar"); sb.ValueChanged += Sb_ValueChanged; } private void Sb_ValueChanged(object sender, RangeBaseValueChangedEventArgs e) { if(e.NewValue > e.OldValue && e.NewValue >= sb.Maximum) { if (!isLoading) { isLoading = true; //加载需要加载的内容。 Task.Factory.StartNew(async () => { await Task.Delay(1000); await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { int sum = Items.Count; for (int i = sum; i < sum+50; i++) { Items.Add(new Item(i.ToString())); } isLoading = false; }); }); } } }</span>
感兴趣的小伙伴欢迎加入我的Win10开发交流群:53078485
0 0
- WP & Win10开发:实现ListView下拉加载的两种方法
- 实现Listview两种布局的加载
- listview下拉刷新,上拉加载更多的实现方法
- WP--两种滚动条到底部加载数据的方法
- 微信小程序下拉刷新上拉加载的两种实现方法
- ListView的两种实现方法
- listview的下拉加载
- android开发游记:listview下拉刷新和上拉加载的实现
- CSS 实践:两种实现下拉菜单的方法
- CSS 实践:两种实现下拉菜单的方法
- ListView、RecyclerView 两种方式实现聊天界面支持文字、表情、图片和语音信息,支持下拉加载更多
- WP&Win10开发: RichTextBlock实现富文本并处理换行
- ListView中实现部分刷新的两种方法
- android UI进阶之实现listview的下拉加载
- android UI进阶之实现listview的下拉加载
- android UI进阶之实现listview的下拉加载
- android UI进阶之实现listview的下拉加载
- android UI进阶之实现listview的下拉加载
- 与数字相关算法
- OpenCV3.0.0 + VS2013 + Win8x64配置
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
- 网站变灰
- 解决WEB集群session同步的方案,Redis内存缓存
- WP & Win10开发:实现ListView下拉加载的两种方法
- Fragment实现Tabhost效果(未完)
- iOS category
- Python2.x urllib2
- 14 个 Linux grep 命令的例子
- 音频文件播放之音量控制【海思平台】
- 页面弹层置灰 js
- 黑马程序员---------------------java基础--------------------网络编程
- fatal:pathspec did not match any file