减少TreeViewItem中最深节点的缩进

gcs*_*cso 3 wpf xaml

如何减少最深TreeViewItem节点的左缩进?出于某种原因,除了最深的节点之外,WPF似乎都会增加这种缩进.查看Window XP的树视图实现,每个深度具有相同的左边距.

我一直在搜索,我似乎无法找到一个有效的实现,它似乎是可能的.

Joh*_*oon 5

更新:更正了解决方案

这是问题的图片供参考......

在此输入图像描述

这是你(可能)希望的图片......

在此输入图像描述

注意:文件列表将显示在第二个屏幕截图的左侧.

在深入研究之后,我认为它是默认TreeViewItem模板中的缺陷.要解决此问题并进行任何其他调整,您需要提供自己的TreeViewItem模板.从这个SO答案的默认TreeViewItem模板开始......

你需要改变这个......

<Trigger Property="HasItems" Value="false">
    <Setter Property="Visibility" TargetName="Expander" Value="Hidden"/>
</Trigger>
Run Code Online (Sandbox Code Playgroud)

对此......

<Trigger Property="HasItems" Value="false">
    <Setter Property="Visibility" TargetName="Expander" Value="Collapsed"/>
</Trigger>
Run Code Online (Sandbox Code Playgroud)

那应该为你做.默认情况下,系统会为exapander留出19个像素的空间.由于叶片级别不需要扩展器,因此该区域应该折叠,而不是隐藏.