UIElement.OnMouseLeftButtonDown(MouseButtonEventArgs) UIElement.OnMouseLeftButtonDown(MouseButtonEventArgs) UIElement.OnMouseLeftButtonDown(MouseButtonEventArgs) UIElement.OnMouseLeftButtonDown(MouseButtonEventArgs) Method


この要素上で未処理の MouseLeftButtonDown ルーティング イベントが発生したときに呼び出されます。Invoked when an unhandled MouseLeftButtonDown routed event is raised on this element. このイベントに対するクラス処理を追加するには、このメソッドを実装します。Implement this method to add class handling for this event.

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


MouseButtonEventArgs MouseButtonEventArgs MouseButtonEventArgs MouseButtonEventArgs

イベント データを格納している MouseButtonEventArgsThe MouseButtonEventArgs that contains the event data. このイベント データは、マウスの左ボタンが押されたことを報告します。The event data reports that the left mouse button was pressed.


イベントMouseLeftButtonDownはバブルルートを移動するように見えますが、実際には間接的に移動します。The MouseLeftButtonDown event appears to travel a bubbling route but actually travels in an indirect way. Mouse.MouseDownは、バブルルーティングされる基になるイベントですUIElement 。イベントルートに沿って、それぞれが同一の処理MouseLeftButtonDownを使用して直接ルーティングイベントを発生させます。Mouse.MouseDown is the underlying event that is bubble routed, and each UIElement along the event route uses identical handling to raise the direct routed event MouseLeftButtonDown. この要素の目的のMouseLeftButtonDownためにイベントを処理済みとしてマークできますが、処理された状態は、イベントルートに沿った他の要素には perpetuate ません。Although you can mark the MouseLeftButtonDown 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.MouseDownでは、をリッスンし、適切なローカルイベントに変換します。The default implementation for general mouse event handling in UIElement listens for Mouse.MouseDown and converts it to an appropriate local event. このロジックをオーバーライドする場合は、派生クラスを作成する必要があります。If you want to override this logic, you must create a derived class. 派生クラスの静的コンストラクターで、のMouse.MouseDown代替クラスハンドラーを登録します。In the static constructor of your derived class, register an alternative class handler for Mouse.MouseDown. をオーバーライドUIElement OnMouseLeftButtonDownすることにより、のマウス処理動作を変更することはできません。You cannot change the mouse handling behavior of UIElement by overriding OnMouseLeftButtonDown.

または、特定のマウス状態のイベント処理を変更するために、このメソッドをオーバーライドすることもできます。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. Base を呼び出さないと、を呼び出すOnMouseLeftButtonDownことが期待される先祖クラスで、そのマウスイベントの既定の入力処理が無効になります。Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke OnMouseLeftButtonDown. たとえば、派生クラスのからButton派生し、基本実装を呼び出さずにオーバーライドOnMouseLeftButtonDownできます。ただし、このオーバーライドにClickよってイベントは無効になります。For example, you can derive from Button and override OnMouseLeftButtonDown in your derived class without calling the base implementation; however, this override disables the Click event.