У меня большой список элементов, поэтому я должен запросить соответствующую страницу с сервера. Как поймать событие, когда пользователь прокручивает список до конца, чтобы я мог запросить другую страницу?
Обнаружение прокрутки до конца списка
Ответы (4)
Точные решения, которые вы ищете: http://danielvaughan.orpius.com/post/Scroll-Based-Data-Loading-in-Windows-Phone-7.aspx
Вы думаете о виртуализации данных. Шон Остер написал действительно хорошее объяснение этому здесь. Подводя итог, можно сказать, что не ListBox
управляет вашими данными, а ваша пользовательская реализация IList
, которая может извлекать новые элементы каждый раз, когда требуется новый фрагмент данных.
вы можете просто проверить вертикальное смещение, если оно больше прокручиваемой высоты, пользователь находится внизу списка, при необходимости запустить запрос на другую страницу.
Лучший подход — использовать LongListSelector
. Он доступен в Windows Phone Toolkit для Windows Phone 7 или встроен в Windows Phone 8. Он работает лучше чем встроенный ListBox
и имеет больше возможностей.
сообщение из официального блога разработчиков Windows Phone (от октября 2012 г.) содержит все подробности и рассказывает, как настроить бесконечную прокрутку.