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

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

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

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

2 ответов


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

редактировать: попробуйте обработать GiveFeedback событие на панели управления, которую вы вызвали DoDragDrop on; это может сделать то, что вы ищете.


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