WPF取消拖动操作

时间:2011-12-01 10:13:49

标签: wpf drag

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

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

2 个答案:

答案 0 :(得分:9)

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

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

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

您的情况为Keyboard.IsKeyDown(Key.Escape)

答案 1 :(得分:1)

使用DragDrop.QueryContinue事件,您可以通过Action属性取消它。