zoukankan      html  css  js  c++  java
  • 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> { }

  • 相关阅读:
    git的搭建与简单实用
    zabbix项目实践
    zabbix的搭建与入门
    zabbix的深入了解
    harbor私有镜像仓库的搭建与使用与主从复制
    tensorflow 在windows下的安装
    word2vec:基本的安装及使用简介
    cs231n(三) 误差反向传播
    cs231n笔记(二) 最优化方法
    cs231n笔记 (一) 线性分类器
  • 原文地址:https://www.cnblogs.com/zhihai/p/2442762.html
Copyright © 2011-2022 走看看