树形控件开启虚拟化的代码:
<Style x:Key=”treeViewStyle”
TargetType=”TreeView”>
<Setter Property=”OverridesDefaultStyle”
Value=”True” />
<Setter Property=”SnapsToDevicePixels”
Value=”True” />
<Setter Property=”VirtualizingPanel.IsVirtualizing”
Value=”True” />
<Setter Property=”VirtualizingPanel.VirtualizationMode”
Value=”Recycling” />
<Setter Property=”ScrollViewer.HorizontalScrollBarVisibility”
Value=”Auto” />
<Setter Property=”ScrollViewer.VerticalScrollBarVisibility”
Value=”Auto” />
<Setter Property=”FocusVisualStyle”
Value=”{StaticResource TreeViewItemFocusVisual}” />
<Setter Property=”ItemContainerStyle”
Value=”{StaticResource ContansLinTreeItemStyle}” />
<Setter Property=”Template”>
<Setter.Value>
<ControlTemplate TargetType=”TreeView”>
<Border Name=”Border”
CornerRadius=”1″
Background=”Transparent”
BorderBrush=”{TemplateBinding Property=BorderBrush}”
BorderThickness=”{TemplateBinding Property=BorderThickness}”>
<ScrollViewer Focusable=”False”
x:Name=”_tv_scrollviewer_”
Padding=”4″>
<ItemsPresenter SnapsToDevicePixels=”{TemplateBinding SnapsToDevicePixels}” />
</ScrollViewer>
</Border>
<ControlTemplate.Triggers>
<Trigger Property=”VirtualizingPanel.IsVirtualizing”
Value=”true”>
<Setter Property=”CanContentScroll”
TargetName=”_tv_scrollviewer_”
Value=”true” />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property=”ItemsPanel”>
<Setter.Value>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>