Ian*_*anR 3 wpf drag-and-drop adorner
我正在使用一个装饰来展示被拖动元素的"幽灵"......
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;
Run Code Online (Sandbox Code Playgroud)
...但是在拖动过程中我无法找到更新装饰者位置的好方法.我最接近的是设置AllowDrop="true"顶级网格并给它一个DragOver处理程序......
private void TopLevelGrid_OnDragOver(object sender, DragEventArgs e)
{
dragAdorner.UpdatePosition(e.GetPosition(topLevelGrid));
}
Run Code Online (Sandbox Code Playgroud)
但这意味着我没有得到DragDropEffects关于光标的正确反馈,即它总是显示DragDropEffects.Move光标而不是DragDropEffects.None直到我超过实际的放置目标.
有谁知道更新装饰位置的更好方法?
| 归档时间: |
|
| 查看次数: |
11609 次 |
| 最近记录: |