你如何在WPF C#中获得treeviewitem的级别?
你如何在WPF C#中获得treeviewitem的级别? 在Windows窗体中,有一个树视图类的.Level成员,但似乎没有一个用于WPF C#。
构建视图模型。
View模型使您在树视图方面具有比没有树视图时更大的灵活性。 帮自己一个忙,不要走视觉树,如果父节点不可见,它可以被虚拟化,你的水平(或深度)数字将是错误的。 构建一个包装数据的视图模型,并知道它处于什么级别。
看看这里发布的答案。
回答第一个链接 (你会在视图模型中添加另一个属性 – 级别)
treeview视图模型演示
我是用转换器做的,因为我想用
来做
和转换器
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if ((value as TreeView) != null)//level 1 return 0; var item = (value as TreeViewItem); if (item != null) // level 2 and 3 return (item.Parent as TreeViewItem)!=null ? 2 : 1; return 0; }
这对于树视图中的多级样式特别有用