2010-11-22 14 views
3

Ich habe eine TreeViewItem. Ich möchte, wenn vorhanden, Elternknoten dieses Artikels erhalten.Silverlight: Ermitteln des übergeordneten TreeViewItem?

jedoch TreeViewItem.ParentTreeViewItem Eigenschaft ist intern, und somit nicht zugänglich. Es gibt keinen Grund, diese Eigenschaft vor Entwicklern zu verbergen, aber jemand, der sehr klug ist, hat das entschieden.

Wie gehe ich vor? Gibt es Workarounds (Reflektion über private Mitglieder funktioniert nicht in SL)?

Antwort

3

eine hässliche gefunden, aber die Arbeit Art und Weise:

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; 
} 

wegen So viel verschwendet CPU-Zyklen versteckt Nur-Lese-Eigenschaft :(

Verwandte Themen