带复选框的 WPF 动态树视图,来自 SQL 服务器的数据
WPF dynamic treeview with checkbox, data from SQL Server
我想用数据库中的复选框构建一个动态树视图,以便为不同用户级别构建一个动态菜单权限。复选框将与值和键绑定。这些复选框将显示文本,选中并保存后,我将能够从这些复选框中获取相应的 ID。
如果有人请帮助我?
表格中的数据
Menu Header TableA : Here Menu TableA has ID: TableA
ID: SubMenuHeader:
A1 TableA1
A2 TableA2
A3 TableA3
Menu TableB : Here Menu TableB has ID: TableB
ID: SubMenuHeader:
B1 TableB1
B2 TableB2
B3 TableB3
TableA1
ID: SubSubMenuHeader: RefMenuTable_ID:
C1 TableC1 A1
C2 TableC2 A1
C3 TableC3 A1
树应该看起来像:请将点 (*) 想象成复选框
- 表A
- 表A1
- 表C1
- 表C2
- 表C3
- 表A2
- 表A3
- 表B
- 表B1
- 表B2
- 表B3
提前致谢!
您必须构建层次结构的可观察数据结构,然后将其绑定到树并指定 HierarchialDataTemplate 来解析嵌套绑定。
我可能会这样定义:
class ItemClass : INotifyPropertyChanged
{
public bool IsChecked
public string Header
ObservableCollection<ItemClass> Children;
}
然后只需构建一个 ObservableCollection<ItemClass> Items
并从数据库中填充它。将其绑定到 TreeView 的 ItemsSource,为 TreeViewItem 指定 HierarchialDataTemplate 和控件模板,并绑定 IsChecked 和 Header。 HierarchialDataTemplate 将告诉 TreeView 如何递归遍历您的对象。
我想用数据库中的复选框构建一个动态树视图,以便为不同用户级别构建一个动态菜单权限。复选框将与值和键绑定。这些复选框将显示文本,选中并保存后,我将能够从这些复选框中获取相应的 ID。
如果有人请帮助我?
表格中的数据
Menu Header TableA : Here Menu TableA has ID: TableA ID: SubMenuHeader: A1 TableA1 A2 TableA2 A3 TableA3 Menu TableB : Here Menu TableB has ID: TableB ID: SubMenuHeader: B1 TableB1 B2 TableB2 B3 TableB3 TableA1 ID: SubSubMenuHeader: RefMenuTable_ID: C1 TableC1 A1 C2 TableC2 A1 C3 TableC3 A1
树应该看起来像:请将点 (*) 想象成复选框
- 表A
- 表A1
- 表C1
- 表C2
- 表C3
- 表A2
- 表A3
- 表A1
- 表B
- 表B1
- 表B2
- 表B3
提前致谢!
您必须构建层次结构的可观察数据结构,然后将其绑定到树并指定 HierarchialDataTemplate 来解析嵌套绑定。
我可能会这样定义:
class ItemClass : INotifyPropertyChanged
{
public bool IsChecked
public string Header
ObservableCollection<ItemClass> Children;
}
然后只需构建一个 ObservableCollection<ItemClass> Items
并从数据库中填充它。将其绑定到 TreeView 的 ItemsSource,为 TreeViewItem 指定 HierarchialDataTemplate 和控件模板,并绑定 IsChecked 和 Header。 HierarchialDataTemplate 将告诉 TreeView 如何递归遍历您的对象。