2010-11-22 56 views
3

我有一個TreeViewItem。如果有的話,我想獲得這個項目的父節點。Silverlight:確定父級TreeViewItem?

但是TreeViewItem.ParentTreeViewItem屬性是內部的,因此無法訪問。 沒有理由將這個屬性從開發者那裏隱藏起來,然而,非常聰明的人決定這樣做。

我該如何繼續?是否有任何解決方法(對私人成員的反思在SL中不起作用)?

回答

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週期,因爲隱藏只讀屬性:(

相關問題