如何检测何时滚动到Windows Phone 8中的LongListSelector或ScrollViewer的底部

时间:2014-08-20 09:11:49

标签: windows-phone-8 scrollviewer longlistselector

当用户滚动到LongListSelector或ScrollViewer(包含longlistselector)的底部时,我想加载更多数据。  我已经搜索了一些stackoverflow问题,但它没有解决我的问题

3 个答案:

答案 0 :(得分:2)

这是一篇关于检测 ** LongListSelector的滚动到底部的好文章。您可以在此处Detecting WP8 LongListSelector’s end of scroll (stretching)

参考

尝试此实现来调用calss函数:

var _list_compress = new WP8PullDetector()
_list_compress.Bind(LongListSelectorName);
_list_compress.Compression += _list_compress_Compression;

答案 1 :(得分:1)

我正在使用此博客文章中的ScrollViewerMonitor使用Daniel Vauchan解决方案:http://danielvaughan.org/post/Scroll-Based-Data-Loading-in-Windows-Phone-7.aspx

样本代码在哪里可用http://danielvaughan.org/file.axd?file=2011%2f1%2fDanielVaughan.ScrollViewerMonitor.zip

它是为WP7中的ListBox开发的,但在WP8中仍可与LongListSelector一起使用。请注意涉及页面之间导航的场景,因为此代码使用DependencyPropertyListener类并在每次加载LongListSelector时订阅listener.Changed事件。所以你必须手动分离listener.Changed从你的页面导航。

作为替代方案,您可以尝试使用Telerik RadDataBoundListBox。它相当不错,支持从盒子里无限加载。

更新: 看来,LongListSelector并不包含ScrollViewer。 ScrollViewer在Listbox中。但是LongListSelector中有ScrollBar及其Value Property和ValueChanged事件。您可以使用scrollbar valuechanged事件检测滚动到底部,并检查ScrollBar Value是否等于ScrollBar.Maximum。 (您可以添加一些常量来改进滚动到结束检测)。

答案 2 :(得分:0)

从Windows Phone博客查看此链接。我没有亲自试过,但已将它加入书签以备将来使用。如果它有用,请告诉我。 How to create an infinite scrollable list with LongListSelector