信息
您所需的主题如下所示。但此主题未包含在此库中。

UIElement.MouseMove 事件

2013/12/13

在以下情况下发生:当触摸 UIElement 时(或当 UIElement 具有触摸输入捕获时),手指的坐标位置位于屏幕上。

Namespace:  System.Windows
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。

声明
Public Event MouseMove As MouseEventHandler
<uiElement MouseMove="eventhandler"/>

使用基于 MouseButtonEventHandler 的处理程序处理此事件。有关如何处理触摸事件的更多信息,请参见快速入门:Windows Phone 的触控输入

MouseMove 处理程序编写代码时请小心。当用户正在与应用程序或与具有此处理程序的特定对象区域交互时,MouseMove 将频繁地发生。MouseMove 处理程序中的任何计算或图形密集型代码对于屏幕上用户使用手指的绘制方式和应用程序的一般行为可能会产生明显的延迟。

可为任意 UIElement 派生类(例如 CanvasTextBlockRectangle)处理 MouseMove 事件。

MouseMove 事件将引发以响应手指跨对象内容区域的移动。如果手指进入对象的内容区域,将在该对象的 MouseMove 事件之前发生 MouseEnter 事件。如果用户的手指实际未移动,则不会引发 MouseMove 事件。例如,如果用户手指保持静态,则不引发 MouseMove,并且具有 MouseMove 处理程序的对象对其位置进行动画处理或调整其位置以移到手指之下。

捕获触摸的 UIElement 将为手指的所有移动接收 MouseMove 事件。

路由事件行为

MouseMove 事件是一种冒泡事件。这意味着,如果为由对象树中的父-子关系所连接的一系列对象注册了多个 MouseMove 事件处理程序,则该事件将由该关系中的每个对象接收。冒泡比喻表示事件在直接接收输入条件的对象上启动,然后沿对象树向上传递。对于冒泡事件,可用于事件处理程序的 sender 标识处理该事件时所用的对象,而不必标识实际接收发起该事件的输入条件的对象。若要获取发起该事件的对象,请使用该事件的 MouseEventArgs 事件数据的 OriginalSource 值。

MouseMove 和 OnMouseMove

继承 MouseMove 的控件可以通过重写 OnMouseMove 方法来处理充当所有实例的处理程序的事件。因为是直接处理事件,没有可用的 Handled 属性,因此不能这样实现 OnMouseMove 以使它通过 Handled 方法取消事件的进一步处理。但是,OnMouseMove 对于设置可视状态或与触摸屏相关的状态属性和行为很有用。例如,ButtonBase 将作为使按钮单击可取消的更大行为集的一部分来实现 OnMouseMove:如果用户单击按钮然后将手指移出按钮边界,则不调用点击。有关更多信息,请参见 OnMouseMove

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示: