减少TreeViewItem中最深节点的缩进

时间:2011-07-06 15:34:33

标签: wpf xaml

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

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

1 个答案:

答案 0 :(得分:5)

更新:更正了解决方案

以下是问题的图片供参考......

enter image description here

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

enter image description here

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

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

中的默认TreeViewItem模板开始

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

<Trigger Property="HasItems" Value="false">
    <Setter Property="Visibility" TargetName="Expander" Value="Hidden"/>
</Trigger>

对此...

<Trigger Property="HasItems" Value="false">
    <Setter Property="Visibility" TargetName="Expander" Value="Collapsed"/>
</Trigger>

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