WPF使用HierarchicalDataTemplate绑定Dictionary生成TreeView

2021-04-09 22:28

阅读:644

标签:text   value   aml   run   strong   tom   cer   item   ons   

原文:WPF使用HierarchicalDataTemplate绑定Dictionary生成TreeView

Dictionary中的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"});

 

Dictionarystring, Jobs> allJob = new Dictionarystring

, 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; }

}

 

public class Jobs : System.Collections.ObjectModel.ObservableCollectionJob> { }

WPF使用HierarchicalDataTemplate绑定Dictionary生成TreeView

标签:text   value   aml   run   strong   tom   cer   item   ons   

原文地址:https://www.cnblogs.com/lonelyxmas/p/9055534.html


评论


亲,登录后才可以留言!