如何处理页面在uwp

时间:2019-07-02 04:18:33

标签: xaml uwp winrt-xaml uwp-xaml

当页面垂直上有多个GridView / ListViews时,我们必须使用ScrollViewer来向上/向下滚动。但是ScrollViewer将破坏GridView / ListView的UI虚拟化,这会导致大量的CPU和内存使用。

但是uwp没有提供纯ScrollViewer,它只是向上/向下/向左/向右滚动,并且不会破坏GridView / ListView的UI虚拟化。

那么如何处理这种缝合呢?

1 个答案:

答案 0 :(得分:0)

  

但是ScrollViewer会破坏GridView / ListView的UI虚拟化,这会导致大量的cpu和内存使用。

有很多方法可以解决,您可以创建Pivot来放置每个GridView。并使用分页数据减少内存和CPU使用率。

<Pivot Title="EMAIL">
    <PivotItem Header="All">
        <TextBlock Text="all emails go here." />
    </PivotItem>
    <PivotItem Header="Unread">
        <TextBlock Text="unread emails go here." />
    </PivotItem>
    <PivotItem Header="Flagged">
        <TextBlock Text="flagged emails go here." />
    </PivotItem>
    <PivotItem Header="Urgent">
        <TextBlock Text="urgent emails go here." />
    </PivotItem>
</Pivot>

您还可以使用社区工具包nuget软件包附带的Blade。根据您的数据模型,创建多个放置GridViewListView的Blade。

<controls:BladeItem x:Name="SecondBlade"
                          Header="Default blade"
                          IsOpen="False"
                          Style="{StaticResource BladeStyle}">
        <TextBlock Margin="24"
                   HorizontalAlignment="Center"
                   VerticalAlignment="Center"
                   Style="{StaticResource SubtitleTextBlockStyle}"
                   Text="This is a blade with all settings set to default." />
</controls:BladeItem>

有关更多信息,请参阅此document