如何减少最深TreeViewItem
节点的左缩进?出于某种原因,除了最深的节点之外,WPF似乎都会增加这种缩进。查看Window XP的树视图实现,每个深度都有相同的左边距。
我一直在搜索,我似乎无法找到一个可行的实现但它似乎是可能的。
答案 0 :(得分:5)
更新:更正了解决方案
以下是问题的图片供参考......
这是你(可能)希望...的图片。
注意:文件列表会显示在第二个屏幕截图的左侧。
在深入研究之后,我认为它是默认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个像素的空间。由于叶级不需要扩展器,因此该区域应该折叠,而不是隐藏。