我正在用 TreeView 创建一个图表。下面是一个屏幕截图。到目前为止,一切都通过造型完成。我将 TreeView 的 ItemsPanel 设置为水平 StackPanel。 (回形针只是没有图像的物品的占位符。)
注意底层的孩子是叶子。他们自己没有孩子。
这是问题:我希望这些项目进入单独的 WrapPanel。问题是一个项目显然可以有孩子有孩子和没有孩子的孩子(分支和树叶)。ItemsPanel 仍然需要是 StackPanel,以便您获得一个不错的水平布局。但是 StackPanel 中的最后一个控件需要是带有所有无子子级的 WrapPanel。
这是我拼凑在一起的屏幕截图,以显示 WrapPanel 中的叶子。
我尝试过的事情
我尝试创建自己的项目面板转换器,但这会将整个项目面板转换为包装面板。
我尝试将单独的树视图添加到 ItemTemplate 并将其绑定到单独的集合,但这不是正确的外观。
我没试过的东西
我所说的 WrapPanel 几乎就像一个分支。但是分支本身是空的,但包含子项。也许我可以根据属性更改节点的样式。然后,它的数据模板将是 WrapPanel,而不是显示图片或其他内容