2011-12-01 10 views
5

¿Cómo puedo cancelar una operación de arrastre actual? Quiero usar la tecla de escape para cancelar las operaciones de arrastre.WPF cancela la operación de arrastre

Miré la clase DragDrop, pero no puedo ver nada que logre algo así como DragDrop.Cancel. ¿Algunas ideas?

Respuesta

9

Solucioné la operación de cancelación utilizando la siguiente:

Por Control realizar el arrastre (cuadrícula de datos en mi caso) he añadido un controlador para el evento QueryContinueDrag.

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

La condición en su caso sería Keyboard.IsKeyDown(Key.Escape).

+1

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

+0

Gracias, hombre, fue útil – Rida

1

Utilice el evento DragDrop.QueryContinue, esto le permite cancelarlo a través de la propiedad Action.

Cuestiones relacionadas