我有这个 xaml:
<controls:Pivot>
<controls:PivotItem Header="All Stations">
<ScrollViewer>
<ItemsControl x:Name="allStations">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Name}"
Click="OnStationClick" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</controls:PivotItem>
</controls:Pivot>
在后面的代码中,我设置allStations.ItemsSource
了一个包含大约 2500 个项目的集合,这使得 UI 冻结了几秒钟。我能做些什么来加快这个负载?虚拟化应该确保它只需要为 10 个左右的项目创建控件,但它似乎正在为所有项目创建控件。