UIElement.RightTapped 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
發生于指標位於元素上方時發生右點選輸入壓力時。
public:
virtual event RightTappedEventHandler ^ RightTapped;
// Register
event_token RightTapped(RightTappedEventHandler const& handler) const;
// Revoke with event_token
void RightTapped(event_token const* cookie) const;
// Revoke with event_revoker
UIElement::RightTapped_revoker RightTapped(auto_revoke_t, RightTappedEventHandler const& handler) const;
public event RightTappedEventHandler RightTapped;
function onRightTapped(eventArgs) { /* Your code */ }
uIElement.addEventListener("righttapped", onRightTapped);
uIElement.removeEventListener("righttapped", onRightTapped);
- or -
uIElement.onrighttapped = onRightTapped;
Public Custom Event RightTapped As RightTappedEventHandler
<uielement RightTapped = "eventhandler" .../>
事件類型
備註
RightTapped 代表觸控動作的結果,是處理一個位置一段特定時間的動作。 如果是觸控動作,來自相同元素的 Holding 事件一律會位於此之前,但 RightTapped 在觸控點釋放之前不會引發。 如果按下指標的時間太短, 而且點選 會引發而不是 Hold,或者 如果 Hold 動作以 HoldState 結束為 Canceled,則不會引發 RightTapped。
RightTapped 是用來顯示操作功能表的事件。 如需如何在應用程式設計中使用右鍵互動的詳細資訊,請參閱自訂使用者互動的觸控互動設計和UX 指導方針。
RightTapped 事件代表手勢,而 PointerReleased 事件則是較低層級的輸入事件。 RightTapped 和 PointerReleased 事件可能會引發為單一使用者互動的結果。 即使控制項已經處理控制項邏輯中的指標事件,或正在處理操作,也不會防止 RightTapped 引發。
RightTapped 事件可能是多個指標點的結果。 針對像是 RightTapped 等較高層級的手勢事件,您無法再立即存取 PointerPoint 詳細資料,例如個別 PointerId 值或個別座標。 您可以存取 device type (PointerDeviceType) ,而針對座標,您可以呼叫 GetPosition,這會從多個指標點提供 RightTap 的座標平均值。
RightTapped 是路由事件。 此外,元素必須具有IsRightTapEnabled 才能成為 RightTapped事件來源, (true是預設) 。 即使父元素的IsRightTapEnabled 為 false,如果事件從 IsRightTapEnabled 從 IsRightTapEnabled為false的事件來源子項目反升至父元素,還是可以處理RightTapEnabled的父元素。 如需路由事件概念的詳細資訊,請參閱 事件和路由事件概觀。
對於觸控動作以及因為觸控動作而引發的互動特定或操作事件,元素必須具有點擊測試可見性,才能成為事件來源並引發與動作相關聯的事件。 UIElement.Visibility 必須是 Visible。 衍生類型的其他屬性也會影響點擊測試可見度。 如需詳細資訊,請參閱事件與路由事件概觀。
RightTapped 支援將事件處理常式附加至將叫用的路由,即使事件的事件資料標示為 Handled 也一樣。 請參閱 AddHandler。
特定Windows 執行階段控制項可能有 RightTapped 事件的類別型處理。 如果是,控制項可能具有 OnRightTapped方法的覆寫。 右鍵動作可能與顯示操作功能表或次要視窗相關聯。 如需事件類別型處理運作方式的詳細資訊,請參閱 事件和路由事件概觀。
滑鼠和手寫筆/手寫筆輸入的 RightTapped
輸入系統會處理動作,讓使用者在元素上方按一下滑鼠右鍵做為 RightTapped 動作。 在放開滑鼠右鍵之前,事件不會引發。 滑鼠輸入預設不會產生 [保留 ] 事件,不論滑鼠按鍵按住多久,或保留哪一個按鈕。
有些畫筆裝置有多個按鈕,其中一個按鈕可以使用滑鼠裝置上右鍵的方式。 這取決於裝置及其設定,但如果手寫筆裝置啟用滑鼠右鍵對等專案,輸入系統也可以針對這些動作引發 RightTapped。
Windows 8 行為
Windows 8 發生 RightTapped 事件資料的問題,其中您從RightTappedRoutedEventArgs.Get (Position取得點的X和Y值實際上是Y;Y實際上是X) 。 此問題已從 Windows 8.1 開始修正。 但是,如果您要將 Windows 8 應用程式重定為 Windows 8.1,您可能已透過交換X和Y來解決此問題的程式碼。 如果是,當您重新設定目標時,請移除該程式碼,因為問題現在已修正。
針對 Windows 8 編譯但已在 Windows 8.1 上執行的應用程式繼續使用此 Windows 8 行為。
此外,Windows 8 並未包含 Shift+F10 的預設按鍵處理,會引發此事件,然後顯示操作功能表。 Shift+F10 通常是VK_APP虛擬索引鍵值的次要按鍵組合, (Properties 鍵) ,因此 Shift+F10 也可能預期也會引發 RightTapped。 此問題已從 Windows 8.1 開始修正;Shift+F10 現在會引發 RightTapped。 您可以在某些控制項上看到此變更做為預設事件處理,這些控制項具有文字的預設操作功能表,例如 TextBox,或叫用自訂功能表和飛出視窗時。
針對 Windows 8 編譯但執行于 Windows 8.1 的應用程式不會使用此 Windows 8 行為,它們會使用已更正的Windows 8.1行為。