我想知道 WindowsPhone Listbox 控件上是否有其他分页数据的解决方案。我习惯于通过手动检查滚动条位置来分页数据,当它到达屏幕末尾时,会加载更多数据。
我想问一下,是否有任何其他解决方案(更好)这样做(WP7 或 WP8)。我提到的解决方案与编写大量代码(自定义事件、滚动侦听器等)有关。我认为,可能有一个更简单的解决方案,因为 WindowsPhone sdk 8.0 已经发布......
我想知道 WindowsPhone Listbox 控件上是否有其他分页数据的解决方案。我习惯于通过手动检查滚动条位置来分页数据,当它到达屏幕末尾时,会加载更多数据。
我想问一下,是否有任何其他解决方案(更好)这样做(WP7 或 WP8)。我提到的解决方案与编写大量代码(自定义事件、滚动侦听器等)有关。我认为,可能有一个更简单的解决方案,因为 WindowsPhone sdk 8.0 已经发布......
WP8 无限滚动的关键是 LongListSelector 控制和处理两个事件:
ItemRealized(加载项)和 ItemUnrealized(删除项)。
此事件会根据检测到的静态模板大小(高度)自动引发。这是一个完全自动的按需操作。引擎“知道”何时应该获取新项目或删除旧项目。
基本的:
您可以使用HorizontalCompression
and的 VisualStatesGroups VerticalCompression
,这样您就可以检测到您何时位于ListBox
.
自从 Mango 以来就一直存在这种情况,因此它不是 WP8 的新功能,但绝对听起来比您当前的“hacky”事件处理程序解决方案更好。
在 MSDN 博客上阅读它 - “Windows Phone Mango 更改,列表框:如何检测压缩(滚动结束)状态?”
如果您不想更改控件,LongListSelector
可以在Windows Phone Toolkit中找到(注意这是 WP8 中的原生工具),这肯定是解决问题的更好方法,链接文章中提到这是新的方法来做旧文章对 Mango 的看法。