UIElement.OnMouseRightButtonDown(MouseButtonEventArgs) 方法

定義

當未處理的 MouseRightButtonDown 路由事件到達其路由中衍生自此類別的項目時叫用。 實作這個方法可為此事件加入類別處理。

protected:
 virtual void OnMouseRightButtonDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected virtual void OnMouseRightButtonDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnMouseRightButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnMouseRightButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Overridable Sub OnMouseRightButtonDown (e As MouseButtonEventArgs)

參數

e
MouseButtonEventArgs

包含事件資料的 MouseButtonEventArgs。 事件資料會報告滑鼠右鍵已按下。

備註

MouseRightButtonDown 事件似乎會移動反升路線,但實際上會以間接方式移動。 Mouse.MouseDown 是泡泡路由的基礎事件,而且每個沿著事件路由都 UIElement 使用相同的處理來引發直接路由事件 MouseRightButtonDown 。 雖然您可以針對此元素的目的將事件標示 MouseRightButtonDown 為已處理,但已處理的狀態不會沿著事件路由延伸至其他元素。 不過,您可能想要將事件標示為已處理,以防止一般實例處理常式 (未指定 handledEventsToo 叫用) 的處理常式。

UIElement 一般滑鼠事件處理的預設實作會接 Mouse.MouseDown 聽,並將其轉換成適當的本機事件。 如果您想要覆寫此邏輯,您必須建立衍生類別。 在衍生類別的靜態建構函式中,註冊 的 Mouse.MouseDown 替代類別處理常式。 您無法藉由覆 OnMouseRightButtonDown 寫 來變更 的 UIElement 滑鼠處理行為。

或者,您可以覆寫這個方法,以變更特定滑鼠狀態的事件處理。 您是否選擇呼叫基底實作取決於您的案例。 無法呼叫基底會停用該滑鼠事件的預設輸入處理,而上階類別上也預期會叫 OnMouseRightButtonDown 用 。 例如,您可以在衍生類別中衍生和 Control 覆寫 OnMouseRightButtonDown ,而不呼叫基底;不過,此覆寫會停用控制項上的操作功能表服務,這是預設行為的一 Control 部分。

適用於