語言

ContentElement.OnPreviewMouseRightButtonDown(MouseButtonEventArgs) 方法

定義

當未處理 PreviewMouseRightButtonDown 的路由事件抵達路由中源自此類別的元素時,會被呼叫。 實作這個方法可為此事件加入類別處理。

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

參數

e
MouseButtonEventArgs

那個 MouseButtonEventArgs 包含事件資料。 事件資料顯示右鍵被按下。

備註

事件 PreviewMouseRightButtonDown 看似沿著隧道路線前進,實際上是間接的。 Mouse.PreviewMouseDown 是被隧道路由的底層事件,事件路由上的每個 ContentElement 事件都使用相同的處理方式來產生直接路由事件 MouseRightButtonDown。 雖然你可以在此元素中標記 PreviewMouseRightButtonDown 事件為已處理,但處理狀態不會延續到事件路徑上的其他元素。 不過,你可能想將事件標記為已處理,以防止一般實例處理器(未指定 handledEventsToo)被呼叫。

一般滑鼠事件處理 ContentElement 的預設實作會 Mouse.PreviewMouseDown 監聽並轉換成適當的本地事件。 如果你想覆蓋這個邏輯,你必須建立一個衍生類別。 在你衍生類別的靜態建構器中,註冊一個替代類別處理器。Mouse.PreviewMouseDown 你無法透過覆寫 ContentElement來改變滑OnPreviewMouseRightButtonDown鼠的操作行為。

或者,你也可以覆寫此方法,以改變特定滑鼠狀態的事件處理。 你是否選擇呼叫基礎實作,取決於你的情境。 未能呼叫 base 會使該滑鼠事件在同樣預期調用 OnPreviewMouseRightButtonDown的祖先類別中預設的輸入處理失效。 例如,你可以在不呼叫 base 的情況下,從 Control 衍生類別推導並覆寫 OnPreviewMouseRightButtonDown ;然而,此覆寫會使控制項上的上下文選單服務失效,而這些服務是預設行為的一部分 Control 。

適用於