Dictionary<string, CustomeType>中的CustomeType是一個(gè)集合,將其綁定生成一棵樹(shù),樹(shù)的第一層節(jié)點(diǎn)是Dictionary的Key,第二層是CustomeType集合,所有代碼用XAML實(shí)現(xiàn)。
代碼如下:
<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; }
}
|