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

  • 相关阅读:
    C# winform 若要在加载设计器前避免可能发生的数据丢失,必须纠正以下错误
    C# 邮件发送系统
    IIS配置网站(WebServices),局域网都能访问
    C# 遍历窗体控件顺序问题
    zynqmp(zcu102rev1.0)系列---1---安装 xsdk
    linux 系统中将数据写入文档不能立即保存问题的解决方法
    virtualbox ubuntu16.04 自动挂载共享文件夹
    linux c 读写 ini 配置文件
    指针与 const --- 指针常量与常量指针
    Linux SD卡建立两个分区
  • 原文地址:https://www.cnblogs.com/sjqq/p/6951587.html
Copyright © 2011-2022 走看看