我想使用数据库中的复选框构建动态树视图,以便为不同用户的级别构建动态菜单权限。复选框将与值和键绑定。这些复选框将显示文本,当检查和保存时,我将能够从这些复选框中获取相应的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
树应该是这样的:请将点(*)想象为复选框
提前致谢!
答案 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如何通过对象进行递归。