2011-12-01 141 views
5

如何取消當前的拖動操作?我想使用退出鍵取消正在運行的拖動操作。WPF取消拖動操作

我看了看DragDrop類,但不能看到任何可以實現類似DragDrop.Cancel的東西。有任何想法嗎?

回答

9

我使用下面的解決了取消操作。

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

您的情況的條件是Keyboard.IsKeyDown(Key.Escape)

+1

或直接['e.EscapePressed'](http://msdn.microsoft.com/en-us/library/system.windows.querycontinuedrageventargs.escapepressed.aspx)。 –

+0

謝謝你,這很有用 – Rida

1

使用DragDrop.QueryContinue事件,這允許您通過Action屬性取消它。

Control進行拖動(數據網格在我的情況)我添加了QueryContinueDrag事件的處理程序: