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> { }
WPF使用HierarchicalDataTemplate绑定Dictionary生成TreeView的更多相关文章
- wpf直接绑定xml生成应用程序
目的:在vs2010下用wpf完成一个配置工具,配置文件为xml格式,xml文件作为数据源,直接和wpf前台绑定,生成exe后,运行exe能够加载同路径下的xml配置文件并显示 xml文件在项目中的设 ...
- TreeView —WPF—MVVM—HierarchicalDataTemplate
摘要:采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树, 支持勾选.勾选父节点,子节点回全部自动勾选:子节点部分勾选时,父节点半勾选:子节点 ...
- WPF:使用Json.NET在TreeView中树形显示JSON数据
原文 WPF:使用Json.NET在TreeView中树形显示JSON数据 据 读者可以参考这个开源的可以树形显示XML和JSON的工具: Mgen Object 603:XML/JSON树形显示小工 ...
- WPF 带CheckBox、图标的TreeView
WPF 带CheckBox.图标的TreeView 在WPF实际项目开发的时候,经常会用到带CheckBox的TreeView,虽然微软在WPF的TreeView中没有提供该功能,但是微软在WPF中提 ...
- WPF数据双向绑定
设置双向绑定,首先控件要绑定的对象要先继承一个接口: INotifyPropertyChanged 然后对应被绑定的属性增加代码如下: 意思就是当Age这个属性变化时,要通知监听它变化的人. 即:Pr ...
- ComboBox绑定Dictionary做为数据源
http://www.cnblogs.com/refresh/archive/2012/07/14/2591503.html https://msdn.microsoft.com/zh-cn/libr ...
- WPF的DataTrigger绑定自身属性
原文:WPF的DataTrigger绑定自身属性 <DataTrigger Binding="{Binding RelativeSource={RelativeSource self} ...
- 下拉列表框DropDownList绑定Dictionary泛型类
DropDownList绑定Dictionary泛型类 定义一个Dictionary泛型类 /// <summary> /// 产品类型 /// </summary> ...
- (WPF) ComboBox 之绑定
1. 在UI(Xaml) 里面直接绑定数据. <Window x:Class="WpfTutorialSamples.ComboBox_control.ComboBoxSample& ...
随机推荐
- A. Nearest Common Ancestors
A. Nearest Common Ancestors Time Limit: 1000ms Case Time Limit: 1000ms Memory Limit: 10000KB 64-bi ...
- Axure:从简单搜索到联想搜索的部件制作
导读:最近一直都在整理原型部件,要说准备的最有感触的,当属搜索框无疑.搜索框的整理,前后加起来共耗时两天多.从最开始的按钮和文本框,到后来的图示,提示和联想查询.耗费了不少的心血,有必要总结一下,留个 ...
- 源码分析 脱壳神器ZjDroid工作原理
0. 神器ZjDroid Xposed框架的另外一个功能就是实现应用的简单脱壳,其实说是Xposed的作用其实也不是,主要是模块编写的好就可以了,主要是利用Xposed的牛逼Hook技术实现的,下面就 ...
- 济南学习 Day5 T3 晚
回文串(palindromes) [题目描述] 判断是否能将字符串S分成三段非空回文串. [输入说明] 第一行一个整数T,表示数据组数. 对于每一个组,仅包含一个由小写字母组成的串. [输出说明] 对 ...
- keepalived学习
HA集群 keepalived heartbeat corosync cman 功能实现 vrrp协议在Linux主机上以守护进程方式, 能够根据配置文件自动生成ipvs规则 对各RS健康状态检测 组 ...
- Day 9 Linux samba & ngnix
(摘) Samba服务 一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服 ...
- 一个强大的Android模拟器Genymotion
相信很多Android开发者一定受够了速度慢.体验差效率及其地下的官方模拟器了,自己在平时的开发中几乎是不会用模拟器的,等的时间太久了,但是在一些尺寸适配或是兼容性测试的时候没有足够多的机器进行测试, ...
- java使用jxl,自动导出数据excle,quartz自动发送邮件
=============JAVA后台代码===================== package com.qgc.service.autoSendMsg.AutoSendMsg import ja ...
- 记录一下 ps命令找出线程占用cpu情况
https://blog.csdn.net/xnn2s/article/details/11865339
- T2597 团伙 codevs
http://codevs.cn/problem/2597/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 1920年的芝加 ...