本文介绍了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周期:(

这篇关于Silverlight:确定父树视项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 14:54