UIElement.OnMouseLeftButtonDown(MouseButtonEventArgs) メソッド

定義

この要素上で未処理の MouseLeftButtonDown ルーティング イベントが発生したときに呼び出されます。 このイベントに対するクラス処理を追加するには、このメソッドを実装します。

protected:
 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)

パラメーター

e
MouseButtonEventArgs

イベント データを格納している MouseButtonEventArgs。 このイベント データは、マウスの左ボタンが押されたことを報告します。

注釈

イベントは MouseLeftButtonDown バブルルートを移動しているように見えますが、実際には間接的な方法で移動します。 Mouse.MouseDown はバブル ルーティングされる基になるイベントであり、イベント ルートに沿ってそれぞれ UIElement 同じ処理を使用してダイレクト ルーティング イベント MouseLeftButtonDownを発生させます。 この要素の目的でイベントを MouseLeftButtonDown 処理済みとしてマークすることはできますが、処理済みの状態はイベント ルートに沿って他の要素に永続しません。 ただし、イベントを処理済みとしてマークして、一般的なインスタンス ハンドラー (指定 handledEventsTooしなかったハンドラー) が呼び出されないようにすることができます。

の一般的なマウス イベント処理の既定の実装では UIElement 、 が Mouse.MouseDown リッスンされ、適切なローカル イベントに変換されます。 このロジックをオーバーライドする場合は、派生クラスを作成する必要があります。 派生クラスの静的コンストラクターで、 の代替クラス ハンドラーを Mouse.MouseDown登録します。 をオーバーライドして のマウス処理の動作 UIElementOnMouseLeftButtonDown変更することはできません。

または、特定のマウス状態のイベント処理を変更するために、このメソッドをオーバーライドすることもできます。 基本実装を呼び出すかどうかを選択するかどうかは、シナリオによって異なります。 base の呼び出しに失敗すると、 を呼び出 OnMouseLeftButtonDownす先祖クラスで、そのマウス イベントの既定の入力処理が無効になります。 たとえば、基本実装を呼び出さずに派生クラスから派生 Button およびオーバーライド OnMouseLeftButtonDown できます。ただし、このオーバーライドではイベントが Click 無効になります。

適用対象