Wie aktualisiere ich die Position eines Drag Adorner während WPF Drag & Drop?
Ich benutze einen Adorner, um einen "Geist" des Elements zu zeigen, das gezogen wird ...
var adornerLayer = AdornerLayer.GetAdornerLayer(topLevelGrid);
dragAdorner = new DragAdorner(topLevelGrid, itemToDrag);
adornerLayer.Add(dragAdorner);
dragAdorner.UpdatePosition(e.GetPosition(topLevelGrid));
DragDrop.DoDragDrop(sourceItems, viewModel, DragDropEffects.Move);
adornerLayer.Remove(dragAdorner);
itemToDrag = null;
... aber ich kann keine gute Möglichkeit finden, die Position des Adorners während des Ziehens zu aktualisieren. Das nächste, was ich habe, ist das EinstellenAllowDrop="true"
auf der obersten Ebene Raster und geben es einen DragOver-Handler ...
private void TopLevelGrid_OnDragOver(object sender, DragEventArgs e)
{
dragAdorner.UpdatePosition(e.GetPosition(topLevelGrid));
}
Aber das heißt, ich verstehe nicht das RichtigeDragDropEffects
Feedback auf dem Cursor, d. h. es zeigt immer dieDragDropEffects.Move
Cursor stattDragDropEffects.None
bis ich über einem tatsächlichen Drop-Ziel bin.
Kennt jemand einen besseren Weg, um die Adorner-Position zu aktualisieren?