ListView WP8中的增量加载

时间:2015-04-12 16:40:06

标签: c# xaml windows-phone-8

当我们滚动到列表视图的底部时,我已经阅读了有关如何进行增量加载的文章,但是当我们滚动到列表顶部时,如何实现延迟加载。当用户到达顶部时,我想在列表顶部添加更多项目。有什么方法可以实现这一点。

2 个答案:

答案 0 :(得分:4)

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

对于eg->

<ListView x:Name="GridViewMain" IncrementalLoadingThreshold="2" RenderTransformOrigin="0.5,0.5"> <ListView.RenderTransform> <RotateTransform Angle="180"></RotateTransform> </ListView.RenderTransform> <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch"/> <Setter Property="VerticalContentAlignment" Value="Stretch"/> </Style> </ListView.ItemContainerStyle> <ListView.Resources> <DataTemplate x:Key="DataTemplateGridViewMain"> <Grid HorizontalAlignment="Stretch" Background="#FF7C1A9B" RenderTransformOrigin="0.5,0.5"> <Grid.RenderTransform> <RotateTransform Angle="180"/> </Grid.RenderTransform> <TextBlock HorizontalAlignment="Left" Text="{Binding}" VerticalAlignment="Center" FontSize="20" FontFamily="Tempus Sans ITC" /> </Grid> </DataTemplate> </ListView.Resources> <ListView.ItemTemplate> <StaticResource ResourceKey="DataTemplateGridViewMain" /> </ListView.ItemTemplate> </ListView>

                                                                                                                                                                                                                                                                                                                                                                                                                  

为我工作。

答案 1 :(得分:1)

没有内置的解决方案。

这是一个检查ListViews滚动位置并在其位于顶部时加载其他项目的示例。

// 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...
    }
}

小心处理:

在顶部添加项目时,滚动位置将会改变。

检查非常简单,只有滚动查看器可以实际滚动时才会起作用。