Mouse.MouseDown 添付イベント

定義

任意のマウス ボタンが押されると発生します。

see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler

注釈

どのマウスボタンが押されたかを確認するには、 ChangedButton ハンドラーに渡されたのプロパティを確認し MouseButtonEventArgs ます。

これは添付イベントです。 WPF は、添付イベントをルーティングイベントとして実装します。 添付イベントは、基本的には、イベントを定義していないオブジェクトで処理できるイベントを参照する XAML 言語の概念です。 WPF は、イベントがルートを走査できるようにすることによっても拡張されます。 アタッチされたイベントには、コードで直接処理構文がありません。コードでルーティングイベントのハンドラーをアタッチするには、指定された Add * Handler メソッドを使用します。 詳細については、「 添付イベントの概要」を参照してください。

Windows Presentation Foundation (WPF) フレームワークは、との2つの異なる共通言語ランタイム (CLR) イベントとして提示することで、この添付イベントに基づいて構築され UIElement ContentElement MouseLeftButtonDown MouseRightButtonDown ます。 これらの実装は、基になるイベントを処理 MouseDown し、イベントの引数を読み取って、マウスの左ボタンまたは右ボタンが関係していたかどうかを判断します。 3つのボタンを使用するマウスでは、[中央] ボタンのフレームワークレベルのイベントはサポートされていません。 イベントを使用して、イベント引数の状態を確認する必要があり MouseDown MiddleButton ます。

重要

などのコントロールのような動作を持ついくつかの派生クラスには、 ContentElement Hyperlink マウスボタンイベントに固有のクラス処理が含まれる場合があります。 マウスの左ボタンダウンイベントは、コントロールでクラス処理を行う最も可能性の高いイベントです。 クラスの処理では、多くの場合、基になる Mouse クラスのイベントを処理済みとしてマークします。 イベントが処理済みとしてマークされると、その要素にアタッチされている他のインスタンスハンドラーは通常は発生しません。 UI ツリー内のルートに向かうバブル方向の要素に関連付けられているその他のクラスまたはインスタンスハンドラーも、通常は発生しません。

前の重要な注意事項で説明されている問題を解決しても、 MouseDown 次のいずれかの方法を使用してクラス処理を持つ派生クラスで、マウスの左ボタンダウンイベントのイベントを受け取ることができます。

  • イベントのハンドラーをアタッチし PreviewMouseDown ます。これは、コントロールによって処理されるようにマークされていません。 これはプレビューイベントであるため、ルートからルートが開始され、コントロールにトンネリングされることに注意してください。

  • を呼び出し、 AddHandler ハンドラーがルーティングイベントデータで既に処理済みとしてマークされている場合でもイベントをリッスンできるようにする署名オプションを選択して、コントロール procedurally にハンドラーを登録します。

マウスに関連するルーティングイベントの場合は、どのように処理されたかをマークする方法やタイミングに注意してください。 特定のマウスアクションについて親要素にも通知する必要があるかどうかについて、適切な選択を行うことが困難です。その理由は、WPF フレームワークでは、基になるマウスルーティングイベントが、ルートに沿って CLR イベントとして表示されるということです。 ルーティングのマウスイベントにも同様の問題があります。 イベントを処理し、ソースに対してそれ以上の子によって処理されないようにする必要があります。また、合成部分にマウスの動作が期待される可能性があるコントロールを合成するにはどうすればよいでしょうか。

ルーティングされたイベント情報

識別子フィールド MouseDownEvent
ルーティング方法 バブリング
代理人 MouseButtonEventHandler

適用対象