3
我有一个TreeViewItem
。如果有的话,我想获得这个项目的父节点。Silverlight:确定父级TreeViewItem?
但是TreeViewItem.ParentTreeViewItem
属性是内部的,因此无法访问。 没有理由将这个属性从开发者那里隐藏起来,然而,非常聪明的人决定这样做。
我该如何继续?是否有任何解决方法(对私人成员的反思在SL中不起作用)?
我有一个TreeViewItem
。如果有的话,我想获得这个项目的父节点。Silverlight:确定父级TreeViewItem?
但是TreeViewItem.ParentTreeViewItem
属性是内部的,因此无法访问。 没有理由将这个属性从开发者那里隐藏起来,然而,非常聪明的人决定这样做。
我该如何继续?是否有任何解决方法(对私人成员的反思在SL中不起作用)?
找到一个丑陋的,但工作方式:
static TreeViewItem GetParentItem(TreeViewItem item)
{
for (var i = VisualTreeHelper.GetParent(item); i != null; i = VisualTreeHelper.GetParent(i))
if (i is TreeViewItem)
return (TreeViewItem)i;
return null;
}
这么多浪费CPU周期,因为隐藏只读属性:(