我一直在我的应用中实现无限滚动,但当List
加载更多元素时,ScrollView
滚动位置与之前的位置不同。
自动滚动(效果很好):
private void VideosList_ItemRealized(object sender, System.Windows.Input.ManipulationDeltaEventArgs e)
{
ScrollViewer sv = VideosList.Descendents().OfType<ScrollViewer>().FirstOrDefault();
if (sv != null && this.isloading == false && sv.VerticalOffset >= (sv.ScrollableHeight - 60))
{
this.isloading = true;
videosList.getMoreVideos(20);
}
//videosList.getMoreVideos(5);
}
绑定
public void videosListUpdateFinished(object sender, EventArgs e)
{
YTVideoPage.Focus();
VideosList.ItemsSource = null;
VideosList.ItemsSource = videosList.ytvideos.data.items;
this.isloading = false;
}
如何在更改绑定时让列表框保持在相同位置?我试图获取VerticalOffset
并在加载时设置它,但它不起作用。
我希望你能帮助我。谢谢。
答案 0 :(得分:1)
为什么不为WP8使用新的LongListSelector?这个适用于无限滚动。还有一些示例如何使用:http://code.msdn.microsoft.com/wpapps/TwitterSearch-Windows-b7fc4e5e
不幸的是,twitter API已经改变,你不会收到任何数据,但示例代码仍然帮助我弄清楚如何实现它。