Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF HierarchycalDataTemplate&;树形图_Wpf_Hierarchicaldatatemplate - Fatal编程技术网

WPF HierarchycalDataTemplate&;树形图

WPF HierarchycalDataTemplate&;树形图,wpf,hierarchicaldatatemplate,Wpf,Hierarchicaldatatemplate,我正在尝试将递归集合绑定到WPF中的树视图。我只能看到UI中的第一级 public class Employee { public string Name { get; set; } public List<Employee> Reportees { get; set; } } Employees = new ObservableCollection<Employee> { new Employee { Name = "Bob1", Reportees

我正在尝试将递归集合绑定到WPF中的树视图。我只能看到UI中的第一级

public class Employee
{
    public string Name { get; set; }
    public List<Employee> Reportees { get; set; }
}

Employees = new ObservableCollection<Employee>
{
 new Employee { Name = "Bob1", Reportees=new List<Employee>{ new Employee { Name = "Bob1's Sub1"}, new Employee { Name = "Bob1's Sub2"} } },
 new Employee { Name = "Bob2", Reportees=new List<Employee>{ new Employee { Name = "Bob2's Sub1"}, new Employee { Name = "Bob2's Sub2"} } },
 new Employee { Name = "Bob3", Reportees=new List<Employee>{ new Employee { Name = "Bob3's Sub1"}, new Employee { Name = "Bob3's Sub2"} } }
};
公共类员工
{
公共字符串名称{get;set;}
公共列表报告对象{get;set;}
}
员工=新的可观察收集
{
新员工{Name=“Bob1”,报告对象=新列表{new Employee{Name=“Bob1's Sub1”},新员工{Name=“Bob1's Sub2”}},
新员工{Name=“Bob2”,报告对象=新列表{new Employee{Name=“Bob2's Sub1”},新员工{Name=“Bob2's Sub2”}},
新员工{Name=“Bob3”,报告对象=新列表{new Employee{Name=“Bob3的Sub1”},新员工{Name=“Bob3的Sub2”}}
};
XAML


您的HierarchyCalDataTemplate缺少它的ItemsSource

大概是这样的:

<TreeView HorizontalAlignment="Left" Margin="10" VerticalAlignment="Top" Height="320" Width="300" ItemsSource="{Binding Employees}">
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type model:Employee}" ItemsSource="{Binding Reportees}">
            <TextBlock Text="{Binding Name}" />
        </HierarchicalDataTemplate>
        <HierarchicalDataTemplate DataType="{x:Type System:String}" ItemsSource="{Binding Reportees}">
            <TextBlock Text="{Binding}" />
        </HierarchicalDataTemplate>
    </TreeView.Resources>
</TreeView>

<TreeView HorizontalAlignment="Left" Margin="10" VerticalAlignment="Top" Height="320" Width="300" ItemsSource="{Binding Employees}">
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type model:Employee}" ItemsSource="{Binding Reportees}">
            <TextBlock Text="{Binding Name}" />
        </HierarchicalDataTemplate>
        <HierarchicalDataTemplate DataType="{x:Type System:String}" ItemsSource="{Binding Reportees}">
            <TextBlock Text="{Binding}" />
        </HierarchicalDataTemplate>
    </TreeView.Resources>
</TreeView>