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

时间:2015-08-01 08:18:40

标签: c# wpf checkbox 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
    • TableA1
      • TableC1
      • TableC2
      • TableC3
    • TableA2
    • TableA3
  • 表B
    • TableB1
    • TableB2
    • TableB3

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

我可能会定义类似的内容:

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

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