UIElement3D.MouseLeftButtonDown 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
滑鼠指標在此元素上方且按下滑鼠左按鈕時發生。
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 |
- 覆寫 OnMouseLeftButtonDown 以在衍生類別中實作此事件的類別處理。