Benutzer mit den meisten Antworten
Drag'n'Drop mit Datengebundener TreeView

Frage
-
Hi, ich möchte eine Drag'n'Drop Funktion in mein Programm implementieren. Speziell in einer TreeView möchte ich die Kinder usw. in z.B. andere Elternknoten verschieben können. All diese Items sind Instanzen meiner Eigenen Klasse. Die TreeView selber ist an einer ObservableColection gebunden. Nun möchte ich auch noch die Reiehnfolge der Items verändern können also so hier:
Item1
Item1-1
Item1-2
Item1-3
Item1-4wid zu
Item1
Item1-1
Item1-4
Item1-2
Item1-3Außerdem brauche ich die möglichkeit, ein Item in die Oberste Ebene zu verschieben. Geht so etwas?
Ich habe schon danach im Internet gesucht, aber irgendwie die ganzen Beispielcodes nicht so recht verstanden (Meine Englischkenntnisse sind nicht so gut). Ich habe schon AllowDrop=True gesetzt, aber das nützt mir ja auch nichts.
Kann mir vielleicht jemand einen kleinen Beispielcode mit Erklärung geben, damit ich es verstehe.
Antworten
-
Hallo,
auch wenn deine Frage nun schon einen Monat zurück liegt, vielleicht kannst du ja immernoch Hilfe gebrauchen. In folgendem link wird das Problem Drag'n'Drop in einer Datengebundenen TreeView nochmal etwas ausführlicher Behandelt:
http://social.msdn.microsoft.com/Forums/de-DE/wpfde/thread/31d7bb1b-a6aa-4e49-ba8f-fa9d3910c4e0/Um ein Item hoch und runter zu verschieben, reicht es aus, wenn du das zu verschiebende mit dem darüber oder darunter liegendem Element vertauschst, frei nach diesem Code:
int x_pos = 0; int y_pos = 1; int tmp = x_pos; x_pos = y_pos; y_pos = tmp;
Um ein Element in die oberste Ebene zu verschieben, kannst du einfach das Item in deine zu Grunde liegende OC kopieren und dann deine Ursprüngliche Instanz löschen.Koopakiller [kuːpakɪllɐ] http://koopakiller.ko.ohost.de/
- Als Antwort markiert xD3000 Dienstag, 1. Januar 2013 23:09
Alle Antworten
-
Hallo,
auch wenn deine Frage nun schon einen Monat zurück liegt, vielleicht kannst du ja immernoch Hilfe gebrauchen. In folgendem link wird das Problem Drag'n'Drop in einer Datengebundenen TreeView nochmal etwas ausführlicher Behandelt:
http://social.msdn.microsoft.com/Forums/de-DE/wpfde/thread/31d7bb1b-a6aa-4e49-ba8f-fa9d3910c4e0/Um ein Item hoch und runter zu verschieben, reicht es aus, wenn du das zu verschiebende mit dem darüber oder darunter liegendem Element vertauschst, frei nach diesem Code:
int x_pos = 0; int y_pos = 1; int tmp = x_pos; x_pos = y_pos; y_pos = tmp;
Um ein Element in die oberste Ebene zu verschieben, kannst du einfach das Item in deine zu Grunde liegende OC kopieren und dann deine Ursprüngliche Instanz löschen.Koopakiller [kuːpakɪllɐ] http://koopakiller.ko.ohost.de/
- Als Antwort markiert xD3000 Dienstag, 1. Januar 2013 23:09