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