Share via


UIElement3D.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 

事件類型

實作

備註

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

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

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

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

重要

類別處理通常會將基礎 Mouse 類別事件標示為已處理。 事件標示為已處理之後,通常不會引發附加至該專案的其他實例處理程式。 附加至 UI 樹狀結構根目錄之元素的任何其他類別或實例處理程式,通常也不會引發。

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

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

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

路由事件資訊

標識元欄位 MouseLeftButtonDownEvent
路由策略 直接
代理人 MouseButtonEventHandler

適用於

另請參閱