WPF取消拖动操作

ric*_*lla 5 wpf drag

如何取消当前的拖动操作?我想使用转义键取消运行拖动操作.

我看过DragDrop类,但是看不到任何可以实现类似DragDrop.Cancel的东西.有任何想法吗?

Hon*_*uta 9

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

Control执行拖动(在我的情况下是DataGrid)时,我为QueryContinueDrag事件添加了一个处理程序.

private void DataGrid_QueryContinueDrag(object sender,
                                        QueryContinueDragEventArgs e)
{
    if (... condition ...)
        e.Action = DragAction.Cancel;
}
Run Code Online (Sandbox Code Playgroud)

您的情况将是Keyboard.IsKeyDown(Key.Escape).

  • 或者直接 [`e.EscapePressed`](http://msdn.microsoft.com/en-us/library/system.windows.querycontinuedrageventargs.escapepressed.aspx)。 (2认同)