2011-12-01 16 views
5

現在のドラッグ操作をキャンセルするにはどうすればよいですか?エスケープキーを使用して、ドラッグ操作の実行をキャンセルします。WPFキャンセルドラッグ操作

IveはDragDropクラスを見ましたが、DragDrop.Cancelのような何かを得ることはできません。何か案は?

答えて

9

私は、次を使用してキャンセル動作を解く:

ドラッグ(私の場合は、データグリッド)を行うことControlに私はQueryContinueDragイベントのハンドラを追加しました。

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プロパティでキャンセルできます。

関連する問題