在WPFToolkit手风琴上启用UI虚拟化
我正在使用WPFToolkit Accordion控件,并将手风琴中的项目定义为TreeView。
对于上下文,这是XAML的相关部分:
<ScrollViewer VerticalScrollBarVisibility="Auto" CanContentScroll="True">
<layoutToolkit:Accordion DockPanel.Dock="Bottom"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
ItemsSource="{Binding FoodTypes}"
SelectionMode="ZeroOrOne"
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.VirtualizationMode="Recycling">
<layoutToolkit:Accordion.ContentTemplate>
<DataTemplate>
<TreeView Margin="0 0 0 0" BorderThickness="0"
ItemsSource="{Binding ChildrenView}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.VirtualizationMode="Recycling">
最初我只使用TreeView(没有WPFToolkit Accordian)实现了这个,并且在一秒钟内加载了40,000个项目。
当我在根级别用手风琴实现结构时,点击扩展器的加载时间超过7秒。这太长了。
我分析了应用程序,看到第一级中的500个项目正在递归测量,这导致加载时间增加。看起来Accordion控件没有使用UI虚拟化。有没有办法让手风琴使用UI虚拟化?如果没有,是否有任何方法可以提高手风琴的性能,以便更快地加载第一级物品?
没有找到相关结果
已邀请:
1 个回复
蹄寄噬非芹