I have a large list of items, so i should request corresponding page from the server. How to catch an event, when user scrolls to the end of the listbox, so i can request another page?
问题:
回答1:
The exact solutions you are looking for: http://danielvaughan.orpius.com/post/Scroll-Based-Data-Loading-in-Windows-Phone-7.aspx
回答2:
You're thinking about data virtualization. Shawn Oster wrote a really good explanation to this here. To sum it up, it's not the ListBox
that is managing your data, but your custom IList
implementation, that is able to fetch new items each time a new data chunk is needed.
回答3:
you can just check the vertical offset if is greater than the scrollable height, the user is at the bottom of the list, fire the request for another page as needed.
回答4:
The best approach is to use the LongListSelector
. It's available from the Windows Phone Toolkit for Windows Phone 7 or it's built-in on Windows Phone 8. It performs better than the built-in ListBox
and has more features.
A post from the official Windows Phone Developer blog (from October 2012) gives all the details and tells how to setup infinite scrolling.