WPF中具有动态绑定的多级嵌套TreeView

sal*_*oni 5 wpf treeview dynamic-binding

我正在尝试创建一个应用程序,我需要在树视图结构中显示员工及其部门,如下所示:

  • Employee1
    • 部门
      • DEPT1
      • DEPT2
  • 和Employee2
    • 部门
      • Dept3
      • Dept4

我怎么能用WPF做到这一点?

Vog*_*612 2

执行此操作的正确方法是使用HierarchicalDataTemplate. 我能想象的最基本的如下:

<UserControl.Resources>
        <HierarchicalDataTemplate
            x:Key="RecursiveData" DataType="TreeViewItem" ItemsSource="{Binding Items}">
        </HierarchicalDataTemplate>
    </UserControl.Resources>
Run Code Online (Sandbox Code Playgroud)

可以在 XAML 中使用,如下所示:

<TreeView ItemTemplate="{StaticResource RecursiveData}" />
Run Code Online (Sandbox Code Playgroud)

当然,您可以随意自定义模板的样式和子组件。

请注意,ItemSource您的 TreeView 的 需要实际提供嵌套TreeViewItem,其中每个 TreeViewItem 包含其子项Items