Ich bin beschäftigt mit einer einfachen Anwendung. Es liest XML und setzt die Informationen in eine Baumansicht.Wert der Tag-Eigenschaft verschwindet
Ich mache dies durch Erstellen von TreeNodes und verschachteln sie, und schließlich, geben Sie den Root-Treenode. Da ich bei der Auswahl eines Treenodes einige zusätzliche Informationen anzeigen möchte, lege ich die Informationen in die Tag-Eigenschaft des TreeNode. Auf diese Weise sollte ich die Informationen abrufen können, wenn der Knoten ausgewählt ist.
Wenn ich jedoch versuche, die Informationen in der Tag-Eigenschaft abzurufen, wird der Wert = null angegeben.
Hier ist der Code, wo ich das Tag füllen. Dies ist in einer Funktion, die rekursiv verwendet wird, um das XML-Dom zu lesen. treeNode ist ein Parameter für diese Funktion.
if (treeNode.Tag == null)
{
treeNode.Tag = new List<AttributePair>();
}
(treeNode.Tag as List<AttributePair>).Add(new AttributePair(currentNode.Name, currentNode.Value));
Dies ist der Fall, in dem ein treenode
private void tvXML_AfterSelect(object sender, TreeViewEventArgs e)
{
if (tvXML.SelectedNode.Tag != null)
{
}
if (e.Node.Tag != null)
{
}
}
Beide Werte auswerten ausgewählt ist auf null. Wie kann ich dieses Problem lösen?
Dies funktioniert für mich - SOUN kann d dumm, aber bist du sicher, dass du die Knoten nicht irgendwo änderst, um das Tag auf null zu setzen? –
Sie müssen den Debugger verwenden und Schritt in den Code, um zu sehen, was tatsächlich passiert –
Dazwischen, ich nicht mehr die Tag-Eigenschaft zu berühren. Und ja, ich habe den Debugger benutzt. In der ersten Methode sehe ich, dass der Tag seinen Wert bekommt, und in der Sekunde sehe ich, dass der Wert leer ist. – Ikke