我正在尝试让我的树形视图通过它们的类型将一组相似的项目分组。为了保持通用性,我的对象层次结构可能是这样的:
Objects Object Group #1 Item #1 (类型 'A') Item #2 (类型 'A') Item #3 (类型 'B') Item #4 (类型 'B')
现在我的TreeView完全按照对象模型显示这些对象,但我想为每种对象类型插入一个TreeView节点,使其看起来像这样:
Objects Object Group #1 类型 A Item #1 Item #2 类型 B Item #3 Item #4
我在类似的问题中看到有人建议使用两个不同的HierarchicalDataTemplates,因此我为“Object Group #1”级别创建了一个模板,其中包含具有类型列表的TreeView,但这非常笨拙,因为它是一整个单独的TreeView在一些节点内部。我还尝试使用CollectionViewSource来过滤每个类别中的项目,但由于我无法弄清如何显示它们,这对我没有太大帮助。
我想问的问题归结为:如何使HierarchicalDataTemplate分组其子项?如果有人能指点我正确的方向,我将不胜感激。
如果有需要,我可以发布一些代码,但我真的只是想弄清楚如何做我想做的事情,因此我的代码现在只是一个相当直接的数据绑定树形视图。
Objects Object Group #1 Item #1 (类型 'A') Item #2 (类型 'A') Item #3 (类型 'B') Item #4 (类型 'B')
现在我的TreeView完全按照对象模型显示这些对象,但我想为每种对象类型插入一个TreeView节点,使其看起来像这样:
Objects Object Group #1 类型 A Item #1 Item #2 类型 B Item #3 Item #4
我在类似的问题中看到有人建议使用两个不同的HierarchicalDataTemplates,因此我为“Object Group #1”级别创建了一个模板,其中包含具有类型列表的TreeView,但这非常笨拙,因为它是一整个单独的TreeView在一些节点内部。我还尝试使用CollectionViewSource来过滤每个类别中的项目,但由于我无法弄清如何显示它们,这对我没有太大帮助。
我想问的问题归结为:如何使HierarchicalDataTemplate分组其子项?如果有人能指点我正确的方向,我将不胜感激。
如果有需要,我可以发布一些代码,但我真的只是想弄清楚如何做我想做的事情,因此我的代码现在只是一个相当直接的数据绑定树形视图。
select new { Type = g.First().Type, Items = g };
? - arolson101