Silverlight:确定父TreeViewItem?

时间:2010-11-22 14:01:19

标签: silverlight-4.0

我有TreeViewItem。我想得到这个项目的父节点,如果有的话。

但是TreeViewItem.ParentTreeViewItem属性是内部的,因此无法访问。 没有理由向开发人员隐藏这个属性,但是,非常聪明的人决定这样做。

我该怎么办?是否有任何解决方法(私人成员的反思在SL中不起作用)?

1 个答案:

答案 0 :(得分:3)

发现了一种丑陋却又有效的方式:

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周期:(