UIElement.MouseLeftButtonDown 事件

定義

滑鼠指標在此元素上方且按下滑鼠左按鈕時發生。

public:
 virtual event System::Windows::Input::MouseButtonEventHandler ^ MouseLeftButtonDown;
public event System.Windows.Input.MouseButtonEventHandler MouseLeftButtonDown;
member this.MouseLeftButtonDown : System.Windows.Input.MouseButtonEventHandler 
Public Custom Event MouseLeftButtonDown As MouseButtonEventHandler 

事件類型

實作

備註

雖然這個 路由事件 似乎遵循元素樹狀結構中的反升路由,但它實際上是透過每個 UIElement 沿著專案樹狀結構引發並重新建立的直接路由事件。

此事件是數個相關事件之一,可報告基礎 Mouse.MouseDown 事件的滑鼠按鍵特定專案,這是每個專案沿著事件路由處理的附加事件。

此事件的事件資料會公開基礎 Mouse.MouseDown 事件的事件資料。 如果該事件標示為沿著事件路由處理,仍會引發滑鼠按鍵特定事件;不過,必須藉由明確呼叫 AddHandler 來新增滑鼠按鍵特定事件的處理常式,以及處理已標示為已處理的事件的選項,才能成為事件的接聽程式。 如果您標示 MouseLeftButtonDown 已處理,基本上會 Mouse.MouseDown 針對路由上的所有進一步接聽程式,以及所有相關事件標示。 這可能包括類別處理常式產生的事件,例如 MouseDoubleClick

在概念上,請將此事件 (和其他滑鼠按鍵事件 UIElement) 為滑鼠「服務」, (類別所提供的 Mouse 服務定義) 。 事件會增加不需要檢查滑鼠按鍵狀態的便利性, (事件資料中原始滑鼠事件的左下) 。 如需更進階的案例,例如檢查非標準按鈕的狀態,您可能需要在 類別上使用 API,而不是 在 上使用 MouseUIElement

重要

某些控制項類別可能有滑鼠按鍵事件的固有類別處理。 滑鼠左鍵向下事件是控制項中具有類別處理的最可能事件。 類別處理通常會將基礎 Mouse 類別事件標示為已處理。 事件標示為已處理之後,通常不會引發附加至該專案的其他實例處理常式。 附加至 UI 樹狀結構根目錄之元素的任何其他類別或實例處理常式,通常也不會引發。

您可以解決上述 [重要] 中所述的問題,而且仍會使用下列其中一個解決方案,在衍生類別上接收 MouseLeftButtonDown 滑鼠左鍵向下事件的事件:

  • 附加事件的處理常式,此處理程式 PreviewMouseDown 未標示為控制項所處理。 請注意,因為這是預覽事件,所以路由會從根目錄開始,並向下通道至控制項。

  • 在控制項上註冊處理常式,方法是呼叫 AddHandler 並選擇簽章選項,讓處理常式能夠接聽事件,即使它們已經標示為路由事件資料中已處理。

路由事件資訊

識別碼欄位 MouseLeftButtonDownEvent
路由策略 直接
代理人 MouseButtonEventHandler

適用於

另請參閱