WPF树视图,如何更改缩进
我的Treeview基本上有“文件夹”节点,并且在不包含其他项目的项目下面一级。
因此,不需要用于展开/折叠图标的空间(在级别2上)。 我可以放弃这个图标空间,从而减少凹痕。 项目(在示例“机场”中)应向左移动一些像素。
重要:基本上寻找代码解决方案(C#),而不是XAML版本。
您真正想要做的是编辑HierarchicalDataTemplate并更改其行为方式。 以下页面具有编辑分层数据模板的非常好的高级视图。
我也发现这个开始时非常好。 虽然这两个页面都没有明确说明要做什么,但实质上是在更改项目演示者中的布局属性。
编辑
哎呀,我错了。 不是HierarchicalDataTemplate,而是TreeViewItem模板。
请参阅下面的示例。 如果您知道不会有任何第三级节点,这只是最简单的方法。
特别注意名为ItemsHost的ItemsPresenter元素。 它的边际为-12,0,0,0。 这意味着它的左边距是负的,因此从左边的方向溢出包含它的网格列。 因此,所有子节点都会向左拉一点。 如果将来有三级节点,它们也会被拉到左侧。 如果您不想这样,那么您将不得不为不同级别的节点提供不同的模板。 但这超出了这个答案的范围。