UIElement.OnPreviewMouseRightButtonDown(MouseButtonEventArgs) UIElement.OnPreviewMouseRightButtonDown(MouseButtonEventArgs) UIElement.OnPreviewMouseRightButtonDown(MouseButtonEventArgs) UIElement.OnPreviewMouseRightButtonDown(MouseButtonEventArgs) Method

定義

當未處理的 PreviewMouseRightButtonDown 路由事件到達其路由中衍生自此類別的項目時叫用。Invoked when an unhandled PreviewMouseRightButtonDown routed event reaches an element in its route that is derived from this class. 實作這個方法可為此事件加入類別處理。Implement this method to add class handling for this event.

protected:
 virtual void OnPreviewMouseRightButtonDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected 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 Overridable Sub OnPreviewMouseRightButtonDown (e As MouseButtonEventArgs)

參數

e
MouseButtonEventArgs MouseButtonEventArgs MouseButtonEventArgs MouseButtonEventArgs

包含事件資料的 MouseButtonEventArgsThe MouseButtonEventArgs that contains the event data. 事件資料會報告滑鼠右鍵已按下。The event data reports that the right mouse button was pressed.

備註

PreviewMouseRightButtonDown事件似乎旅遊通道的路由,但實際上會以間接方式傳送。The PreviewMouseRightButtonDown event appears to travel a tunneling route but actually travels in an indirect way. Mouse.PreviewMouseDown 為基礎的事件通道路由傳送,且每個UIElement沿著事件路由會使用相同的處理結果來引發直接路由的事件MouseRightButtonDownMouse.PreviewMouseDown is the underlying event that is tunnel routed, and each UIElement along the event route uses identical handling to raise the direct routed event MouseRightButtonDown. 雖然您可以將標記PreviewMouseRightButtonDown事件為已處理的這個項目的用途,已處理的狀態不保存事件路由中的其他項目。Although you can mark the PreviewMouseRightButtonDown event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. 不過,您可能想要將事件標示為已處理,以避免一般的執行個體處理常式 (未指定的指handledEventsToo) 叫用。However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify handledEventsToo) from being invoked.

一般的滑鼠事件處理中的預設實作UIElement接聽Mouse.PreviewMouseDown並將它轉換成適當的本機事件。The default implementation for general mouse event handling in UIElement listens for Mouse.PreviewMouseDown and converts it to an appropriate local event. 如果您想要覆寫此邏輯,您必須建立衍生的類別。If you want to override this logic, you must create a derived class. 在衍生類別的靜態建構函式中註冊替代的類別處理常式Mouse.PreviewMouseDownIn the static constructor of your derived class, register an alternative class handler for Mouse.PreviewMouseDown. 您無法變更處理行為的滑鼠UIElement藉由覆寫OnPreviewMouseRightButtonDownYou cannot change the mouse handling behavior of UIElement by overriding OnPreviewMouseRightButtonDown.

或者,您可以覆寫這個方法以變更處理特定的滑鼠狀態的事件。Alternatively, you can override this method in order to change event handling for a specific mouse state. 不論您選擇呼叫的基底實作,取決於您的案例。Whether you choose to call the base implementation depends on your scenario. 無法呼叫基底會停用該也預期要叫用的上階類別上的滑鼠事件的預設輸入的處理OnPreviewMouseRightButtonDownFailing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke OnPreviewMouseRightButtonDown. 例如,您可以從衍生Control,並覆寫OnPreviewMouseRightButtonDown在您的衍生類別,而不需要呼叫基底; 不過,此覆寫會停用內容功能表上的服務您的控制項,也就是組件的Control預設行為。For example, you can derive from Control and override OnPreviewMouseRightButtonDown in your derived class without calling base; however, this override disables the context menu services on your control, which are part of the Control default behavior.

適用於