DoDragDrop отключает события MouseMove

После запуска операции Drag and Drop с помощью DragDrop.DoDragDrop(...) больше не запускается MouseMove Events. Я даже пробовал

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

где последний параметр означает, что я даже выбираю обработанные события. Нет шансов, похоже, что MouseMove Event никогда не срабатывает вообще! Любой способ получить MouseMove Events при использовании Drag and Drop? Я бы хотел перетащить элемент управления и перетащить этот элемент управления, он должен следовать указателю мыши. Любая идея, как это сделать в этом случае?

Ответы

Ответ 1

Вам нужно обработать событие DragOver.

РЕДАКТИРОВАТЬ: попробуйте обработать GiveFeedback событие в элементе управления, который вы назвали DoDragDrop on; что может сделать то, что вы ищете.

Ответ 2

Что такое конструкция DragDrop.DoDragDrop? DoDragDrop предназначен для вызова метода MouseDown/MouseMove, а не в DragDrop. Предполагается, что START обрабатывает эту процедуру, а не реагирует на падение (желаемый эффект падения, который вы просто реализуете непосредственно в DragDrop). MouseMove никогда не срабатывает, когда он уже перетаскивается, возможно, поэтому он не срабатывает и с вами, поскольку вы устанавливаете процедуру. Я думаю, что вы справляетесь с этим неправильным способом, вот один из примеров http://msdn.microsoft.com/en-us/library/aa984430%28v=vs.71%29.aspx.