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

我四处搜索,似乎找不到可行的实现,但它似乎是可能的。

最佳答案

更新 :更正了解决方案

这是问题的图片以供引用...

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

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

在深入研究之后,我认为这是默认 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>

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

关于wpf - 减少 TreeViewItem 中最深节点的缩进,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6599087/

10-11 05:18