WPF 虚拟化问题

  • Post author:
  • Post category:其他


树形控件开启虚拟化的代码:

<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>



版权声明:本文为ht_zhaoliubin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。