Но ScrollViewer разрушит виртуализацию пользовательского интерфейса GridView / ListView, что приводит к огромному использованию процессора и памяти.
Есть много способов подойти, Вы можете создать Pivot
для размещения каждого GridView
. и использовать данные подкачки для уменьшения использования памяти и процессора.
<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>
И вы также используете Blade
, который входит в пакет nuget Community Tool Kit. Основываясь на своей модели данных, создайте несколько блейдов, в которых размещаются GridView
или ListView
.
<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>
Подробнее см. В этом документе .