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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage