UIElement.Tapped 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
發生于未處理的 點 選互動發生于這個專案的點擊測試區域。
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 互動會叫用您應用程式中元素的主要動作。
事件 Tapped
代表手勢, 而 PointerPressed 事件則是較低層級的輸入事件。
Tapped
和 PointerPressed
事件可能會因為單一使用者互動而引發。 如果事件來源有非預設 的 ManipulationMode,也可以引發 ManipulationStarting 。 即使控制項已經在控制項邏輯中處理 PointerPressed
或正在處理操作,也不會防止 Tapped
引發。
事件 Tapped
可能是多個指標點的結果。 針對較高層級的手勢事件,例如 Tapped
您不再可以立即存取 PointerPoint 詳細資料,例如個別 PointerId 值或個別座標。 您可以存取裝置類型 (PointerDeviceType) ,以及您可以呼叫 GetPosition的座標,這會從多個指標點提供 Tap 的座標平均值。
Tapped
是路由事件。 此外,元素必須有 IsTapEnabled 成為 true
Tapped
事件來源, (true
為預設) 。 即使位於父元素上,也可以處理 Tapped
父元素,如果事件從事件來源子專案泡泡到父元素,其中 是 false
IsTapEnabled
。 false
IsTapEnabled
如需路由事件概念的詳細資訊,請參閱 事件和路由事件概觀。
對於觸控動作以及互動特定或操作事件而言,觸控動作的結果也必須是點擊測試,才能成為事件來源。 UIElement.Visibility 必須是 可見的。 衍生型別的其他屬性也會影響點擊測試可見度。 如需詳細資訊,請參閱事件與路由事件概觀。
Tapped
支援將事件處理常式附加至將叫用的路由的能力,即使事件的事件資料標示為 Handled也一樣。 請參閱 AddHandler。
特定Windows 執行階段控制項也可能具有事件的類別型處理 Tapped
。 如果是,控制項可能具有 OnTapped方法的覆寫。 如需事件類別型處理運作方式的詳細資訊,請參閱 事件和路由事件概觀。
Tapped
和 保留 是互斥的。 輸入系統必須等到指標點放開,才能判斷動作是否應該是 Tapped
或 Holding
一些其他手勢,因此您不會在使用者觸碰螢幕的非常立即取得 Tapped
。 如果您真的需要立即的意見反應,建議您改用 PointerPressed 。
如果使用者互動也會引發 DoubleTapped, Tapped
則會先引發代表第一個點選,但第二個點選不會引發額外的 Tapped
。 如果您想要與 不同的邏輯 Tapped
DoubleTapped
,則 Tapped
處理常式可能需要使用應用程式特定的變數和計時器,以避免在最終解譯為 DoubleTap 動作的互動上執行。
點選滑鼠和手寫筆/手寫筆輸入
輸入系統會處理動作,讓使用者在元素上按一下滑鼠左鍵做為 Tapped
動作。 在放開滑鼠左鍵之前,事件不會引發。 不論滑鼠按鍵按住多久,或保留哪一個按鈕,滑鼠輸入預設都不會產生 保留 事件。
對於手寫筆裝置,將手寫筆裝置觸碰到表面並保留在一個位置會產生 保留 動作。
未引發點選事件的控制項
這些控制項不會引發 Tapped
事件: