WPF 4 Drag-and-Drop mit dem visuellen element als cursor
Ich habe eine WPF 4 app, die ich aktivieren möchten, per drag-and-drop mit, derzeit habe ich es die Arbeit mit einem basic-drag-and-drop-Implementierung, aber ich habe festgestellt, dass es viel besser wäre, wenn statt der Maus-cursor verändert über zu repräsentieren, die move-operation, könnte ich ein Bild unter meinem finger.
Ich kann nicht scheinen zu finden, Muster oder doco, das funktioniert out of the box, also Im vorausgesetzt, Im gehen zu müssen, um es zu bauen Brauch... irgendwelche Ideen?
Meinem drag-and-drop-Vorgang initiiert wird, die in einem speziell Benutzer die Kontrolle, so werde ich brauchen, um fügen Sie ein visuelles element in der visuellen Struktur und Folgen Sie meinem finger herum, vielleicht sollte ich aktivieren der ManipulationDelta
Ereignis auf meinem Haupt-Fenster, überprüfen Sie für eine Boolesche dann verschieben Sie das Element um?
Im gerade werfen Ideen um an diesem Punkt, jede Hilfe oder Ideen würde sehr geschätzt werden.
Cheers,
Daneben
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein Beispiel mit einem benutzerdefinierten drag-cursor bei Jaime Rodriguez msdn-blog. Du kannst mit der
GiveFeedback
Ereignis, und ändern Sie den Maus-cursor, aber für die Verwendung einer benutzerdefinierten Visual der Autor erzeugt ein neues Fenster und aktualisiert die position aufQueryContinueDrag
.System.Windows.Input.Cursor
die ich auch nicht sehen, wie eine UIElement... (die will ich haben-Animationen und mehr). Danke für die Hilfe aber. Ich war eigentlich denken mit einer benutzerdefinierten version dieser Bibliothek: dotnetslackers.com/ado_net/...Aus dem erwähnten Artikel war ich in der Lage, zu vereinfachen ein wenig. Im Grunde, was Sie tun müssen, ist, abonnieren, in 3 Veranstaltungen:
DragDrop.DoDragDrop
AllowDrop
eingestellttrue
um zu akzeptieren, Tropfen)DragDrop.DoDragDrop(draggedItem, draggedItem.DataContext, DragDropEffects.Move);
der erste parameter ist das element, das Sie ziehen, dann die zweite die Daten, die er trägt, und zuletzt die-Maus-Effekt.Dieser Methode sperrt den thread. Also alles nach seinem Aufruf wird nur ausgeführt, wenn Sie aufhören zu ziehen.
In der drop-Ereignisses können Sie die Daten abrufen, die Sie geschickt auf den
DoDragDrop
nennen.Quelle für meine tests befinden sich unten, und das Ergebnis ist:
Beispiel drag' n ' drop (gif)
Vollständige Quelle
MainWindow.xaml
Karte.xaml
MainWindow.xaml.cs
Karte.xaml.cs
Close
auf das Fenster, nachdemDoDragDrop
so würde es in der Nähe, egal, wo das ziehen beendet.