带复选框的 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

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

提前致谢!

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

我可能会这样定义:

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

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