Dictionary<string, CustomeType>中的CustomeType是一个集合,将其绑定生成一棵树,树的第一层节点是Dictionary的Key,第二层是CustomeType集合,所有代码用XAML实现。 <TreeView Name="dictree" ItemsSource="{Binding}"> <TreeView.Resources> <HierarchicalDataTemplate ItemsSource="{Binding Value}" DataType="{x:Type local:Job}"> <TextBlock Text="{Binding Id}"><TextBlock Text="{Binding Name}"></TextBlock></TextBlock> </HierarchicalDataTemplate> </TreeView.Resources> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Value}"> <TextBlock Text="{Binding Key}"></TextBlock> <HierarchicalDataTemplate.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Name}"></TextBlock> </DataTemplate> </HierarchicalDataTemplate.ItemTemplate> </HierarchicalDataTemplate> </TreeView.ItemTemplate> </TreeView> Jobs jobs1 = new Jobs(); jobs1.Add(new Job() { Id = 1, Name = "CEO1"}); jobs1.Add(new Job() { Id = 2, Name = "CEO2"}); jobs1.Add(new Job() { Id = 3, Name = "CEO3"}); Jobs jobs2 = new Jobs(); jobs2.Add(new Job() { Id = 1, Name = "CEO1"}); jobs2.Add(new Job() { Id = 2, Name = "CEO2"}); jobs2.Add(new Job() { Id = 3, Name = "CEO3"}); Dictionary<string, Jobs> allJob = new Dictionary<string, Jobs>(); allJob.Add("CEO one", jobs1); allJob.Add("CEO two", jobs2); dictree.DataContext = allJob; public class Job { public int Id { get; set; } public string Name { get; set; } public string Status { get; set; } } |
联系客服