Правильный способ сделать это - использовать HierarchicalDataTemplate
.Наиболее простой, который я могу себе представить, это:
<UserControl.Resources>
<HierarchicalDataTemplate
x:Key="RecursiveData" DataType="TreeViewItem" ItemsSource="{Binding Items}">
</HierarchicalDataTemplate>
</UserControl.Resources>
, который может использоваться в XAML следующим образом:
<TreeView ItemTemplate="{StaticResource RecursiveData}" />
Конечно, вы можете настроить шаблон по желанию с помощью стилейи подкомпоненты.
Обратите внимание, что ItemSource
вашего TreeView должен фактически предоставить вложенные TreeViewItem
s, где каждый TreeViewItem содержит свои подэлементы в Items
.