如何取消当前的拖动操作?我想使用Escape键来取消正在进行的拖动操作。
我看了DragDrop类,但没找到任何可以实现类似DragDrop.Cancel的东西。有什么想法吗?
我使用以下方法解决了取消操作:
在执行拖动操作的 控件
上(在我的情况下是DataGrid),我添加了一个 QueryContinueDrag
事件的处理程序。
private void DataGrid_QueryContinueDrag(object sender,
QueryContinueDragEventArgs e)
{
if (... condition ...)
e.Action = DragAction.Cancel;
}
在你的情况下,条件应为Keyboard.IsKeyDown(Key.Escape)
。DragDrop.QueryContinue
事件,这样可以通过Action
属性取消它。
e.EscapePressed
。 - O. R. Mapper