语言

UIElement.Tapped 事件

定义

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

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"/>

事件类型

注解

触摸、鼠标设备和笔设备都可以生成 Tap 操作。 有关详细信息,请参阅 Handle 指针输入。

有关如何在应用设计中使用 Tap 交互的详细信息,请参阅 Touch 交互设计。 一般的想法是,元素上的 Tap 交互会调用应用中元素的主要操作。

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

事件 Tapped 可能是多个指针点的结果。 对于更高级别的手势事件,例如 Tapped 你不再能够立即访问 PointerPoint 详细信息,例如单个 PointerId 值或单个坐标。 你确实有权访问设备类型(PointerDeviceType)和坐标,你可以调用 GetPosition,这样就可以从多个指针点获取 Tap 的坐标平均值。

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

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

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

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

Tapped 持有是相互排斥的。 输入系统必须等待,直到指针点释放,以确定操作是应TappedHolding还是其他手势,因此你不会在用户触摸屏幕的瞬间获得Tapped。 如果确实需要即时反馈,可能需要改用 PointerPressed 。

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

点击鼠标和笔/触笔输入

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

对于笔设备,将笔设备触摸到图面并保留一个位置会产生一个 保留 操作。

不引发点击事件的控件

这些控件不会引发 Tapped 事件:

适用于

另请参阅