Поскольку вы можете стилизовать различные узлы древовидной структуры, как вам нравится, ответ - да, вы можете.Вы должны привязать древовидное представление к IEnumerable<A>
, где каждый объект типа A будет иметь IEnumerable<B>
(который может быть пустым).
Затем вы можете применить один стиль к каждому элементу типа A,и другой стиль для каждого элемента типа B. В XAML в TreeView.Resources поместите два HierarchicalDataTemplate
с атрибутами DataType.Например, если у вас есть IEnumerable of Categories, и у каждой категории есть свойство Items, которое является IEnumerable of Items, вы можете написать:
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type core:Category}">
<!--Content here-->
<HierarchicalDataTemplate.ItemsSource>
<Binding Path="ContextAssociations"/>
</HierarchicalDataTemplate.ItemsSource>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type core:Item}">
<!--Content here-->
</HierarchicalDataTemplate>
</TreeView.Resources>