WPF ListBox实现上拉加载 以及Item点击事件
因为最近WPF项目中有对ListBox的使用,需要做到像Android平台的RecyclerView的上拉加载,以及Item点击响应。
当然一下源码以及实现方式,不是我原创,是结合网上同道们的思路以及实现方式做出来,适应我个人项目的方案。
(至于下拉刷新,个人还没做,但是大致思路跟这个上拉加载差不多)
一,ListBox的上拉加载
我们需要对ListBox控件内部的Scrollviewer进行状态监听,判断Scrollviewer是否上拉到底部,然后调用数据添加。
此处的IsBottomScrollView是对Scrollviewer的状态判断
此处获取的三个属性API如下
VerticalOffset:获取包含滚动内容的垂直偏移量的值
ViewPortHeight:获取包含内容视区垂直大小的值
ExtentHeight:获取包含盘区垂直大小的值
如果以上不能让你直观理解的话 可以看看gqqnb的博客
至此列表框上拉加载就实现了
二、ListBox的Item点击事件实现
看图,这个只是我获取到的一种思路。其实针对的SelectionChanged事件 选中后 无法再次触发,可以进行自定义控件继承ListBox,自定义Item继承listboxitem,在Item被selected的时候,重置下selected属性。
以上感谢exception1992,ZCS独裁者 在 编程爱我的提问中的回答
到这就完了。