2011-12-01 48 views
5

Làm cách nào để hủy thao tác kéo hiện tại? Tôi muốn sử dụng phím thoát để hủy hoạt động kéo đang chạy.WPF hủy thao tác kéo

Ive đã xem lớp DragDrop, nhưng không thể thấy bất kỳ thứ gì có thể đạt được như DragDrop.Cancel. Bất kỳ ý tưởng?

Trả lời

9

tôi giải quyết các hoạt động hủy bỏ bằng cách sử dụng sau đây:

Trên Control thực hiện kéo (DataGrid trong trường hợp của tôi) Tôi đã thêm một handler cho sự kiện QueryContinueDrag.

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

Điều kiện trong trường hợp của bạn là Keyboard.IsKeyDown(Key.Escape).

+1

Hoặc trực tiếp ['e.EscapePressed'] (http://msdn.microsoft.com/en-us/library/system.windows.querycontinuedrageventargs.escapepressed.aspx). –

+0

Cảm ơn người đàn ông, nó hữu ích – Rida

1

Sử dụng sự kiện DragDrop.QueryContinue, điều này cho phép bạn hủy sự kiện qua thuộc tính Action.

Các vấn đề liên quan