首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIElement.PreviewMouseMove还是不MouseMove..。那倒是一个问题

UIElement.PreviewMouseMove还是不MouseMove..。那倒是一个问题
EN

Stack Overflow用户
提问于 2010-09-27 16:27:37
回答 1查看 2.3K关注 0票数 1

WPF,

MSDN:

UIElement.PreviewMouseMove 事件 在鼠标指针超过此元素时,鼠标指针移动时发生。

如我所见,这不是真的..。当我PreviewMouseDown,然后是PreviewMouseUp时,PreviewMouseMove事件会产生干扰。这是框架中的错误还是MSDN文档的泄漏?

我只需要区分一个元素何时真正移动,而这个“静态”“移动”破坏了我的逻辑.

函数调用日志:

代码语言:javascript
复制
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事件时获得的,因此,我认为即使用千分尺也不能移动鼠标.

EN

回答 1

Stack Overflow用户

发布于 2010-09-27 16:44:26

使用简单的处理程序,我能够使PreviewMouseUp和PreviewMouseDown (以及LeftButtonUp/Down)事件可靠地触发,而不受MouseMove干扰。我怀疑你所看到的行为是因为,特别是对于现代高分辨率鼠标,在点击鼠标时,不可能不移动鼠标(甚至非常轻微)。实际上,假设您的用户不会这样做是非常愚蠢的。没有什么可以阻止用户移动鼠标,同时按住鼠标按钮。

如果只想在鼠标静止的情况下注册事件序列,请将鼠标向下的位置记录下来,如果位置发生显著变化,则只在鼠标上执行操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3805800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档