加载更多元素时,WP8 Listbox会跳跃

时间:2014-05-25 14:05:15

标签: c# windows-phone-8 listbox

我一直在我的应用中实现无限滚动,但当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并在加载时设置它,但它不起作用。

我希望你能帮助我。谢谢。

1 个答案:

答案 0 :(得分:1)

为什么不为WP8使用新的LongListSelector?这个适用于无限滚动。还有一些示例如何使用:http://code.msdn.microsoft.com/wpapps/TwitterSearch-Windows-b7fc4e5e

不幸的是,twitter API已经改变,你不会收到任何数据,但示例代码仍然帮助我弄清楚如何实现它。