2010-04-19 16 views
13

Después de haber iniciado una operación de arrastrar & Drop por DragDrop.DoDragDrop (...) no se disparan más eventos MouseMove. Incluso intentéDoDragDrop deshabilita eventos MouseMove

AddHandler(Window.MouseMoveEvent, new MouseEventHandler(myControl_MouseMove), true); 

donde el último parámetro significa que incluso me suscribo para los eventos manejados. ¡No hay chance, parece que el evento MouseMove nunca se dispara! Cualquier forma de obtener eventos MouseMove mientras usa Arrastrar & ¿Dejar? Me gustaría arrastrar & Soltar un control, mientras arrastra este control, seguirá el puntero del mouse. ¿Alguna idea de cómo hacer esto en este caso?

+0

Este hilo de mensaje también confirma exactamente lo que está viendo: http://social.msdn.microsoft.com/Forums/en/wpf/thread/1053aaa4-d8b6-48d7-8d53-2af98e60d542 –

Respuesta

9

Necesita manejar el DragOver event.

EDIT: Intente manejar el GiveFeedback event en el control que llamó DoDragDrop en; eso podría hacer lo que estás buscando.

+0

gracias por su respuesta, así que tendría que agregar dragover a todos los controles en mi ventana y dejarles que apunten a un único controlador de eventos que mueva mi control? –

+0

Supongo que sí. (Nunca he hecho esto yo mismo) – SLaks

+0

Finalmente utilicé el WinApi para obtener la posición del cursor, pero el uso de dragover también se usa a veces. Consulte http://blogs.msdn.com/b/jaimer/archive/2007/07/12/drag-drop-in-wpf-explained-end-to-end.aspx. –

0

¿Qué es la construcción de DragDrop.DoDragDrop? DoDragDrop está destinado a ser llamado en el método MouseDown/MouseMove de hecho, no en DragDrop. Se supone que COMIENCE a manejar el procedimiento, no a reaccionar por la caída (el efecto deseado de la gota que acaba de implementar directamente en DragDrop). MouseMove nunca se dispara mientras se arrastra, quizás es por eso que no se dispara con usted, ya que se establece el procedimiento. Creo que manejas de esta manera incorrecta, he aquí uno de los ejemplos http://msdn.microsoft.com/en-us/library/aa984430%28v=vs.71%29.aspx.

Cuestiones relacionadas