Wpf 取消拖动操作

Wpf 取消拖动操作,wpf,drag,Wpf,Drag,如何取消当前的拖动操作?我想使用escape键取消正在运行的拖动操作 我看过DragDrop类,但看不到任何可以实现DragDrop.Cancel之类功能的东西。有什么想法吗?使用DragDrop.QueryContinue事件,这允许您通过Action属性取消它。我使用以下方法解决了取消操作: 在执行拖动的控件上(在我的例子中是DataGrid),我为QueryContinueDrag事件添加了一个处理程序 private void DataGrid_QueryContinueDrag(obj

如何取消当前的拖动操作?我想使用escape键取消正在运行的拖动操作


我看过DragDrop类,但看不到任何可以实现DragDrop.Cancel之类功能的东西。有什么想法吗?

使用
DragDrop.QueryContinue
事件,这允许您通过
Action
属性取消它。

我使用以下方法解决了取消操作:

在执行拖动的
控件上(在我的例子中是DataGrid),我为
QueryContinueDrag
事件添加了一个处理程序

private void DataGrid_QueryContinueDrag(object sender,
                                        QueryContinueDragEventArgs e)
{
    if (... condition ...)
        e.Action = DragAction.Cancel;
}
您的情况是
Keyboard.IsKeyDown(Key.Escape)

或直接使用。