Многоуровневое вложенное TreeView с динамическим связыванием в WPF - PullRequest
5 голосов
/ 16 июня 2011

Я пытаюсь создать приложение, в котором мне необходимо отобразить сотрудников и их отделы в виде дерева, как показано ниже:

  • Employee1
    • Отдел
      • Отдел1
      • Отдел2
  • Сотрудник2
    • Отдел
      • Отдел3
      • Отдел4

как я могу сделать это с WPF?

1 Ответ

2 голосов
/ 06 июля 2016

Правильный способ сделать это - использовать 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.

...