簡體   English   中英

ListView WP8中的增量加載

[英]Incremental Loading in ListView WP8

我已經閱讀了有關滾動至列表視圖底部時如何進行增量加載的文章,但已閱讀了有關滾動至列表頂部時如何實現延遲加載的文章。 我想在用戶到達頂部時將更多項目添加到列表的頂部。 有什么方法可以實現這一目標。

找到了解決方案。 旋轉兩個控件。

對於例如->

<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>

為我工作。

沒有內置的解決方案。

這是一個檢查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...
    }
}

小心輕放:

在頂部添加項目時,滾動位置將改變。

該檢查非常簡單,只有在scrollviewer可以實際滾動的情況下才起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM