带有复选框的WPF动态树状视图,数据来自SQL Server

本文关键字:数据 Server SQL 视图 复选框 WPF 动态 | 更新日期: 2023-09-27 18:06:03

我想建立一个动态树视图与复选框从数据库建立一个动态菜单权限的不同用户的级别。复选框将与值和键绑定。这些复选框将显示文本,当它被选中并保存时,我将能够从这些复选框中获得相应的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

树应该看起来像:请想象点(*)作为复选框

  • 为多
    • TableA1
      • TableC1
      • TableC2
      • TableC3
    • TableA2
    • TableA3
  • 表b
    • TableB1
    • TableB2
    • TableB3

带有复选框的WPF动态树状视图,数据来自SQL Server

你必须构建一个层次结构的可观察数据结构,然后将其绑定到树,并指定HierarchialDataTemplate来解析嵌套绑定。

我可能会定义这样的东西:

class ItemClass : INotifyPropertyChanged
{
  public bool IsChecked
  public string Header
  ObservableCollection<ItemClass> Children;
}

然后构建一个ObservableCollection<ItemClass> Items并从数据库中填充它。将它绑定到TreeView的ItemsSource,指定HierarchialDataTemplate和TreeViewItem的控件模板,并绑定IsChecked和Header。HierarchialDataTemplate将告诉TreeView如何递归地遍历你的对象。