C# - WPF - Hinzufügen eines untergeordneten Knotens um einen ausgewählten Knoten in treeview
In WPF treeview-Steuerelement, die ich brauche, um das hinzufügen eines untergeordneten Knoten an ein übergeordneten Knoten i wählen Sie mit mousedoubleclick-Ereignis.
http://msdn.microsoft.com/en-us/library/system.windows.controls.treeview.selecteditem.aspx
Ich folgte der Schritt in die MSDN, aber ich bekomme invalidCastException wenn ich dies tun.
TreeViewItem newChild =
(TreeViewItem)treeView1.SelectedItem;
Wie kann ich dieses Problem lösen?
Dank
- Eine bessere Idee wäre, binden Sie Ihre
TreeView
um ein Objektdiagramm, und haben sich verzögert geladen collection-Eigenschaften, die in das Diagramm.
Du musst angemeldet sein, um einen Kommentar abzugeben.
SelectedItem
gibt das ausgewählte Daten Element, nicht die visuelle Darstellung.Wenn Sie brauchen, um Zugriff auf die ausgewählte
TreeViewItem
verwenden Sie die ItemContainerGenerator :Nicht sicher, es arbeitet für verschachtelte Elemente, aber... Sie müssen möglicherweise verwenden Sie die ItemContainerGenerator der übergeordneten TreeViewItem, was nicht sehr bequem
EDIT: gerade getestet, ja, es funktioniert nur für root-Knoten...
Sowieso, der beste Weg, um einen Knoten hinzuzufügen, ist die Verwendung Bindungen und
HierarchicalDataTemplate
s. Sie brauchen nur, um das Objekt hinzufügen, um die Datenquelle und die entsprechenden TreeViewItem automatisch Hinzugefügt werden (vorausgesetzt, das mit Auflistung implementiert INotifyCollectionChanged...)Welche Art von Items Sie Add() an den Baum? Den gleichen Typ zurückgegeben werden.
Wenn es gemischt wird, verwenden Sie