C# treeview的分层数据模板类
我想在我的项目中为我的TreeView实现一个分层数据模板。 结构应如下所示:C# treeview的分层数据模板类,c#,wpf,treeview,C#,Wpf,Treeview,我想在我的项目中为我的TreeView实现一个分层数据模板。 结构应如下所示: - ManagedItems (RootItem) - Department 1 -Client 1 - Feature 1 - Feature 2 -Client 2 - Feature 1 - Department 2 - Department 4
- ManagedItems (RootItem)
- Department 1
-Client 1
- Feature 1
- Feature 2
-Client 2
- Feature 1
- Department 2
- Department 4
- Department 5
-Client 4
- Feature 1
- Department 3
-Client 3
- Feature 1
- Feature 2
- Feature 3
//Current class for datatype
public class Entries
{
public string Department { get; set; }
public string Client { get; set; }
// ?? How to implement a drive array and a feature array which will be displayed correctly in the treeview?
public ObservableCollection<Entries> Children { get; set; }
}
-ManagedItems(RootItem)
-第一部门
-客户1
-特征1
-专题2
-客户2
-特征1
-第二部门
-第四部门
-第五部门
-客户4
-特征1
-第三部门
-客户3
-特征1
-专题2
-专题3
//数据类型的当前类
公开课参赛作品
{
公共字符串部门{get;set;}
公共字符串客户端{get;set;}
//?如何实现将在treeview中正确显示的驱动器阵列和功能阵列?
公共可观测集合子项{get;set;}
}
它在C#和WPF(.NET4.0)中。
一些想法
谢谢。您的型号的线框:
class ManagedItems {
IList<Department> Departments // TreeView.ItemsSource
}
class Department {// HierDT
IList<object> Children // HierDT.ItemsSource; (can either be Department or Client)
}
class Client {// HierDT
IList<Feature> Features // HierDT.ItemsSource
}
class Feature { } // normal DataTemplate
类管理数据项{
IList部门//TreeView.ItemsSource
}
班级部门{//HierDT
IList Children//HierDT.ItemsSource;(可以是部门或客户)
}
类客户端{//HierDT
IList功能//HierDT.ItemsSource
}
类特征{}//普通数据模板
在TreeView.Resources中定义部门
和客户
层次
和功能
数据模板
注意部门。儿童
是对象
。这是可以的,因为当WPF“看到”一个客户机时,它将“膨胀”到相应的层次(以及当它“看到”一个部门时,它将膨胀到部门定义的层次)。这是事实上WPF TreeView在web上的最佳示例。如果您还没有听说过MVVM,您可能还想看看它的一些示例。