C# WP8列表框在加载更多元素时出现跳跃

C# WP8列表框在加载更多元素时出现跳跃,c#,windows-phone-8,listbox,C#,Windows Phone 8,Listbox,我一直在我的应用程序中实现无限滚动,但是当列表加载更多元素时,滚动视图滚动位置与以前不同 自动滚动(工作正常): 如何在更改绑定时使列表框保持在相同的位置?我尝试获取垂直偏移量,并在加载时设置它,但它不起作用 我希望你能帮助我。谢谢。为什么不为WP8使用新的LongListSelector?这一个非常适合无限滚动。也有一些示例如何使用此功能,如: 不幸的是,twitter API已经更改,您将不会收到任何数据,但示例代码仍然帮助我找到了如何实现它的方法。作为参考,现在我使用的是Observabl

我一直在我的应用程序中实现无限滚动,但是当
列表
加载更多元素时,
滚动视图
滚动位置与以前不同

自动滚动(工作正常):

如何在更改绑定时使列表框保持在相同的位置?我尝试获取垂直偏移量,并在加载时设置它,但它不起作用


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

为什么不为WP8使用新的LongListSelector?这一个非常适合无限滚动。也有一些示例如何使用此功能,如:


不幸的是,twitter API已经更改,您将不会收到任何数据,但示例代码仍然帮助我找到了如何实现它的方法。

作为参考,现在我使用的是ObservableCollection,因此我删除了行“VideosList.ItemsSource=null;”谢谢,现在我使用的是LongListSelector,它可以工作了!我不想使用推特数据。为了将来参考,使用列表框实现无限滚动是个坏主意,VerticalOffset每次都会更改为意外值,我不知道为什么。
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;
}