WPF使用HierarchicalDataTemplate绑定Dictionary生成TreeView

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

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

}

 

public class Jobs : System.Collections.ObjectModel.ObservableCollection<Job> { }

posted on 2018-05-18 11:52 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/9055534.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值