C# ListView WP8中的增量加载

C# ListView WP8中的增量加载,c#,xaml,windows-phone-8,C#,Xaml,Windows Phone 8,我读过一些文章,内容是关于当我们滚动到列表视图的底部时如何进行增量加载,但是当我们滚动到列表的顶部时如何实现延迟加载。我想在用户到达列表顶部时将更多项目添加到列表顶部。我们有没有办法做到这一点。没有内置的解决方案 下面的示例检查ListView滚动位置,并在其位于顶部时加载其他项目 // Attach to the view changed event _scrollViewer = listview.GetFirstDescendantOfType<ScrollViewer>();

我读过一些文章,内容是关于当我们滚动到列表视图的底部时如何进行增量加载,但是当我们滚动到列表的顶部时如何实现延迟加载。我想在用户到达列表顶部时将更多项目添加到列表顶部。我们有没有办法做到这一点。

没有内置的解决方案

下面的示例检查ListView滚动位置,并在其位于顶部时加载其他项目

// Attach to the view changed event
_scrollViewer = listview.GetFirstDescendantOfType<ScrollViewer>();
if (_scrollViewer != null)
{
    _scrollViewer.ViewChanged += OnViewChanged;
}
还有处理者

private void OnViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
    // If scrollviewer is scrolled up
    if (_scrollViewer.VerticalOffset < 150)
    {
        // Start loading new items...
    }
}
小心处理:

在顶部添加项目时,滚动位置将更改


检查非常简单,只有当scrollviewer能够真正滚动时,检查才会起作用。

没有内置解决方案

下面的示例检查ListView滚动位置,并在其位于顶部时加载其他项目

// Attach to the view changed event
_scrollViewer = listview.GetFirstDescendantOfType<ScrollViewer>();
if (_scrollViewer != null)
{
    _scrollViewer.ViewChanged += OnViewChanged;
}
还有处理者

private void OnViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
    // If scrollviewer is scrolled up
    if (_scrollViewer.VerticalOffset < 150)
    {
        // Start loading new items...
    }
}
小心处理:

在顶部添加项目时,滚动位置将更改


检查非常简单,只有当scrollviewer能够真正滚动时,检查才会起作用。

找到了解决方案。旋转两个控件

例如->


为我工作。

找到了解决方案。旋转两个控件

例如->


为我工作。

如何处理滚动位置的变化?你的确切意思是什么?有scrollviewer.ChangeView。当从下到上滚动时,当添加项目时,滚动突然跳到底部。有什么方法可以防止这种情况发生吗?ListView中的ItemsStackPanel有一个属性。另外,为了防止跳转,您必须从顶部向下滚动scollviewer 1px。我尝试过,但无法修复。发布了一个关于它的问题。即使使用从上到下的列表视图,这也是我面临的一个普遍问题。如何处理滚动位置的变化?你到底是什么意思?有scrollviewer.ChangeView。当从下到上滚动时,当添加项目时,滚动突然跳到底部。有什么方法可以防止这种情况发生吗?ListView中的ItemsStackPanel有一个属性。另外,为了防止跳转,您必须从顶部向下滚动scollviewer 1px。我尝试过,但无法修复。发布了一个关于它的问题。即使使用从上到下的列表视图,这也是我面临的一个普遍问题。