UIElement.PointerWheelChanged 事件

定义

当指针滚轮的增量值更改时发生。

public:
 virtual event PointerEventHandler ^ PointerWheelChanged;
// Register
event_token PointerWheelChanged(PointerEventHandler const& handler) const;

// Revoke with event_token
void PointerWheelChanged(event_token const* cookie) const;

// Revoke with event_revoker
UIElement::PointerWheelChanged_revoker PointerWheelChanged(auto_revoke_t, PointerEventHandler const& handler) const;
public event PointerEventHandler PointerWheelChanged;
function onPointerWheelChanged(eventArgs) { /* Your code */ }
uIElement.addEventListener("pointerwheelchanged", onPointerWheelChanged);
uIElement.removeEventListener("pointerwheelchanged", onPointerWheelChanged);
- or -
uIElement.onpointerwheelchanged = onPointerWheelChanged;
Public Custom Event PointerWheelChanged As PointerEventHandler 
<uielement PointerWheelChanged = "eventhandler" .../>

事件类型

注解

处理 PointerWheelChanged 时,通常对 MouseWheelDelta 属性值感兴趣:

  1. 从处理程序可用的 PointerRoutedEventArgs 调用 GetCurrentPoint。 这将返回 PointerPoint
  2. 获取 PointerPoint的属性。 它包含 PointerPointProperties 对象。
  3. PointerPointProperties 对象获取 MouseWheelDelta 属性值。 正值表示方向盘向前旋转 (远离用户) 或向右倾斜;负值表示方向盘向后旋转 (用户) 或向左倾斜。

如果发生指针事件的元素具有非默认 ManipulationMode 值,则该操作还可能导致各种操作事件,如 ManipulationStarted。 此外,鼠标滚轮输入可由控件处理为内置操作行为,即使未设置 ManipulationMode 值。 例如,某些控件(如 GridViewListView )可以处理鼠标滚轮输入以启动滚动/平移操作。

PointerWheelChanged 是路由事件。 有关路由事件概念的详细信息,请参阅 事件和路由事件概述

对于触摸操作以及特定于交互的事件或一个触摸操作引起的操作事件,一个元素必须对点击测试可见,以用作事件源并触发与该操作关联的事件。 UIElement.Visibility 必须为 Visible。 派生类型的其他属性也会影响命中测试可见性。 有关详细信息,请参阅事件和路由事件概述

PointerWheelChanged 支持将事件处理程序附加到将调用的路由,即使事件的事件数据标记为“ 已处理”也是如此。 请参阅 AddHandler

特定Windows 运行时控件可能对 PointerWheelChanged 输入事件具有基于类的处理。 如果是这样,控件可能具有 OnPointerWheelChanged 方法的替代。 通常,事件标记为由类处理程序处理,并且不会引发 PointerWheelChanged 事件,以便由该控件上的任何用户代码处理程序进行处理。 控件可能这样做是为了支持使用指针滚轮操作遍历其子元素。 有关事件基于类的处理工作原理的详细信息,请参阅 事件和路由事件概述

Windows 8 行为

对于 Windows 8, 由 ScrollViewer 控件部件输入处理的跟踪板设备手势被解释为鼠标滚轮输入,因此会触发 PointerWheelChanged 事件。 从Windows 8.1开始,ScrollViewer 使用基础操作逻辑,该逻辑将跟踪板手势解释为 ScrollViewer 响应的操作,因此该手势被视为由控件处理,并且不会再触发 PointerWheelChanged 事件。

如果将应用代码从 Windows 8 迁移到 Windows 8.1可能需要考虑此行为更改,因为它会导致在更少的情况下触发 PointerWheelChanged。 此外, ScrollViewer 现在内置的行为可能会复制处理程序本来会执行的操作。

对于针对 Windows 8 编译的应用,如果它在 Windows 8.1 上运行,将继续使用 Windows 8 行为。

适用于

另请参阅