語言

ContentElement.OnPreviewMouseLeftButtonDown(MouseButtonEventArgs) 方法

定義

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

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

參數

e
MouseButtonEventArgs

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

備註

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

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

或者,你也可以覆寫此方法,以改變特定滑鼠狀態的事件處理。 你是否選擇呼叫基礎實作,取決於你的情境。 未能呼叫 base 會使該滑鼠事件在同樣預期調用 OnPreviewMouseLeftButtonDown的祖先類別中預設的輸入處理失效。 例如,你可以在不呼叫基礎實作的情況下,從 Button 衍生類別推導並覆寫 OnPreviewMouseLeftButtonDown ;但此覆寫會使 Click 事件失效。

適用於