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> { }
最新文章
- Oracle数据库操作分类DDL、DML、DCL、TCL类别清单异同
- Android Paint类方法说明
- NodeJS常用工具
- linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析
- 数学(FFT):BZOJ 3527 [Zjoi2014]力
- JavaScript调试技巧
- jQuery 入门
- maven The superclass ";javax.servlet.http.HttpServlet"; was not found on the Java Build Path错误
- 用js来实现那些数据结构16(图02-图的遍历)
- 01 JVM 从入门到实战 | 什么是 JVM
- AngularJS 最常用的八种功能
- OCR技术浅析-无代码篇(1)
- windows下Xshell远程访问虚拟机
- java标志性接口
- sphinx-doc的中文搜索
- Asp.Net Core 404处理
- 静态方法(staticmethod)和类方法(classmethod)
- 运用HTML5+CSS3和CSS滤镜做的精美的登录界面
- Magic Powder - 2 (CF 670_D)
- 关于xmlhttp会使用ie的缓存的问题及解决