我使用的裝飾器來顯示被拖動的元素的「鬼」 ......如何在WPF拖放過程中更新拖動裝飾的位置?
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;
...但我不能找到一個很好的方式在更新裝飾器的位置拖動。我得到的最接近是在頂層設置電網和AllowDrop="true"
給它爲dragOver處理器...
private void TopLevelGrid_OnDragOver(object sender, DragEventArgs e)
{
dragAdorner.UpdatePosition(e.GetPosition(topLevelGrid));
}
但這意味着我沒有得到光標正確DragDropEffects
反饋,即它總是顯示DragDropEffects.Move
光標而不是DragDropEffects.None
,直到我超過實際放置目標。
有沒有人知道一個更好的方式來更新裝飾者的位置?
鏈接現在已經死了。 – 2015-09-17 17:04:04