WPF,
MSDN:
UIElement.PreviewMouseMove 事件 在鼠标指针超过此元素时,鼠标指针移动时发生。
如我所见,这不是真的..。当我PreviewMouseDown,然后是PreviewMouseUp时,PreviewMouseMove事件会产生干扰。这是框架中的错误还是MSDN文档的泄漏?
我只需要区分一个元素何时真正移动,而这个“静态”“移动”破坏了我的逻辑.
函数调用日志:
Function: MyCanvas.OnPreviewMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs), Thread: 0x6F4 Main Thread
Function: MyCanvas.OnPreviewMouseMove(System.Windows.Input.MouseEventArgs), Thread: 0x6F4 Main Thread
Function: MyCanvas.OnPreviewMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs), Thread: 0x6F4 Main Thread
Function: MyCanvas.OnPreviewMouseMove(System.Windows.Input.MouseEventArgs), Thread: 0x6F4 Main Thread之前的日志是在获取DoubleClick事件时获得的,因此,我认为即使用千分尺也不能移动鼠标.
发布于 2010-09-27 16:44:26
使用简单的处理程序,我能够使PreviewMouseUp和PreviewMouseDown (以及LeftButtonUp/Down)事件可靠地触发,而不受MouseMove干扰。我怀疑你所看到的行为是因为,特别是对于现代高分辨率鼠标,在点击鼠标时,不可能不移动鼠标(甚至非常轻微)。实际上,假设您的用户不会这样做是非常愚蠢的。没有什么可以阻止用户移动鼠标,同时按住鼠标按钮。
如果只想在鼠标静止的情况下注册事件序列,请将鼠标向下的位置记录下来,如果位置发生显著变化,则只在鼠标上执行操作。
https://stackoverflow.com/questions/3805800
复制相似问题