You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将TreeViewItem的VirtualizationMode默认值设为Recycling?

如何将TreeViewItem对应的VirtualizingPanel.VirtualizationMode默认值设为Recycling?

我需要将VirtualizingPanel.VirtualizationMode的默认值设置为Recycling,重点作用于TreeViewItem,但尝试了以下方法均未生效,通过XAML实时属性浏览器查看,该属性并未被正确应用。

尝试过的XAML代码

<TreeView VirtualizingPanel.IsVirtualizing="True"
          VirtualizingPanel.CacheLengthUnit="Pixel"
          VirtualizingPanel.VirtualizationMode="Recycling"/>

<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource {x:Type TreeViewItem}}">
    <Setter Property="VirtualizingPanel.VirtualizationMode" Value="Recycling" />
</Style>

尝试过的C#代码

static MainWindow()
{
    VirtualizingPanel.VirtualizationModeProperty.OverrideMetadata(
        typeof(VirtualizingPanel), new FrameworkPropertyMetadata(VirtualizationMode.Recycling));
    VirtualizingPanel.VirtualizationModeProperty.OverrideMetadata(
        typeof(MainWindow), new FrameworkPropertyMetadata(VirtualizationMode.Recycling));
    VirtualizingPanel.VirtualizationModeProperty.OverrideMetadata(
        typeof(TreeViewItem), new FrameworkPropertyMetadata(VirtualizationMode.Recycling));
    VirtualizingPanel.VirtualizationModeProperty.OverrideMetadata(
        typeof(VirtualizingStackPanel), new FrameworkPropertyMetadata(VirtualizationMode.Recycling));
}

复现步骤

  • 下载对应源码并在Visual Studio调试模式启动程序;
  • 打开“实时可视化树”窗口,找到TreeViewItem节点下的VirtualizingStackPanel;
  • 右键点击该VirtualizingStackPanel选择“属性”,查看VirtualizationMode的属性值。

内容的提问来源于stack exchange,提问作者Hossein Ebrahimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:20:43