UIElement.Tapped 事件

定义

在此元素的命中测试区域上发生其他未经处理的 点击 交互时发生。

public:
 virtual event TappedEventHandler ^ Tapped;
// Register
event_token Tapped(TappedEventHandler const& handler) const;

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

// Revoke with event_revoker
UIElement::Tapped_revoker Tapped(auto_revoke_t, TappedEventHandler const& handler) const;
public event TappedEventHandler Tapped;
function onTapped(eventArgs) { /* Your code */ }
uIElement.addEventListener("tapped", onTapped);
uIElement.removeEventListener("tapped", onTapped);
- or -
uIElement.ontapped = onTapped;
Public Custom Event Tapped As TappedEventHandler 
<uiElement Tapped="eventhandler"/>

事件类型

注解

触摸、鼠标设备和笔设备都可以产生 点击 操作。 有关详细信息,请参阅 处理指针输入

有关如何在应用设计中使用点击交互的详细信息,请参阅触摸交互设计。 一般思路是,对元素的 点击 交互在应用中调用元素的主要操作。

事件 Tapped 表示手势,而 PointerPressed 事件是较低级别的输入事件。 TappedPointerPressed 事件可以作为单个用户交互的结果引发。 如果事件源具有非默认 ManipulationMode,也可以引发 ManipulationStarting 。 即使控件已在控件逻辑中处理 PointerPressed 或正在处理操作,也不会阻止 Tapped 引发。

事件 Tapped 可能是多个指针点的结果。 对于更高级别的手势事件(例如 Tapped ,您不再具有对 PointerPoint 详细信息(如单个 PointerId 值或单个坐标)的即时访问权限。 你确实有权访问设备类型 (PointerDeviceType) ,对于坐标,可以调用 GetPosition,这将提供来自多个指针点的 Tap 的坐标的平均值。

Tapped 是路由事件。 此外,元素必须具有 IsTapEnabledtrue 才能成为 Tapped 事件源, (true 是默认) 。 如果事件从事件源子元素(其中 IsTapEnabledfalse为 )的父元素气泡到父元素,则即使IsTapEnabledfalse在父元素上,也可以处理Tapped父元素。 有关路由事件概念的详细信息,请参阅 事件和路由事件概述

对于触摸操作以及特定于交互或触摸操作后果的操作事件,元素必须可见,才能成为事件源。 UIElement.Visibility 必须为 Visible。 派生类型的其他属性也会影响命中测试可见性。 有关详细信息,请参阅事件和路由事件概述

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

特定Windows 运行时控件也可能对事件具有基于类的Tapped处理。 如果是这样,控件可能具有 OnTapped 方法的替代。 有关事件基于类的处理工作原理的详细信息,请参阅 事件和路由事件概述

Tapped持有 是相互排斥的。 输入系统必须等到指针点松开,才能确定操作是 应为 TappedHolding 还是其他手势,这样用户就不会在触摸屏幕时立即得到 Tapped 。 如果确实需要即时反馈,建议改用 PointerPressed

如果用户交互也引发 DoubleTappedTapped 将首先引发以表示第一次点击,但第二次点击不会引发额外的 Tapped。 如果希望为 TappedDoubleTapped使用不同的逻辑,则 Tapped 处理程序可能需要使用特定于应用的变量和计时器,以避免在最终解释为 DoubleTap 操作的交互上运行。

点击鼠标和笔/触笔输入

输入系统处理用户单击鼠标左键作为操作的元素 Tapped 的操作。 在释放鼠标左键之前,事件不会触发。 默认情况下,无论鼠标按钮按住多长时间或按住哪个按钮,鼠标输入都不会产生 “按住 ”事件。

对于触控笔设备,将触控笔设备触摸到表面并停留在一个位置会产生 “保留” 操作。

不引发点击事件的控件

这些控件不会引发 事件 Tapped

适用于

另请参阅