DoDragDrop禁用MouseMove事件

ste*_*wpf 13 c# wpf drag-and-drop mousemove

通过DragDrop.DoDragDrop(...)启动拖放操作后,不再触发MouseMove事件.我甚至试过了

AddHandler(Window.MouseMoveEvent, new MouseEventHandler(myControl_MouseMove), true); 
Run Code Online (Sandbox Code Playgroud)

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

SLa*_*aks 9

你需要处理这个DragOver事件.

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

  • 问题是只有当您输入AllowDrop设置为True的控件的边界时,DragOver才会触发.当鼠标在其内部移动时,它不会重新启动.因此,您无法根据鼠标位置调整视觉反馈.GiveFeedBack仅在源上触发,而不是在您悬停的源上. (5认同)