DoDragDrop禁用MouseMove事件

在DragDrop.DoDragDrop(…)开始拖放操作后,不再触发MouseMove事件。 我甚至试过了

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

最后一个参数意味着我甚至选择处理事件。 没有机会,似乎MouseMove事件根本就没有被解雇! 使用Drag&Drop时还能获得MouseMove事件的任何方法吗? 我想拖放一个控件,拖动这个控件时它应该跟随鼠标指针。 知道在这种情况下如何做到这一点?

您需要处理DragOver事件 。

编辑 :尝试在您调用DoDragDrop的控件上处理GiveFeedback事件 ; 这可能会做你想要的。

什么是DragDrop.DoDragDrop构造? DoDragDrop旨在确实在MouseDown / MouseMove方法中调用,而不是在DragDrop中调用。 它应该是START处理程序,而不是对drop的反应(你在DragDrop中直接实现的drop的所需效果)。 MouseMove在拖动时永远不会触发,也许这就是为什么它不会随你开火,因为你设置了这个程序。 我认为你处理这种错误的方式,这是一个例子http://msdn.microsoft.com/en-us/library/aa984430%28v=vs.71%29.aspx 。