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

イベントの種類

実装

注釈

この ルーティング イベントの概要 は、要素ツリーを通るバブル ルートに従っているようですが、実際には、各 ContentElementによって要素ツリーに沿って発生および再評価される直接ルーティング イベントです。

このイベントは、基になる Mouse.MouseDown イベントのマウス ボタンの詳細を報告するいくつかの関連イベントの 1 つです。これは、イベント ルートに沿って各要素によって処理される添付イベントです。

このイベントの引数は、基になる Mouse.MouseDown イベントの引数を公開します。 そのイベントがイベント ルートに沿って処理済みとしてマークされている場合、マウス ボタン固有のイベントは引き続き発生します。ただし、マウス ボタン固有のイベントのハンドラーを追加するには、 AddHandlerを明示的に呼び出し、既に処理済みとしてマークされているイベントを処理するオプションを使用して、イベントのリスナーにする必要があります。

概念的には、このイベント (および ContentElement 上の他のマウス ボタン イベント) をマウスの "サービス" ( Mouse クラスによって提供されるサービス定義) と考えてください。 このイベントにより、イベント データ内の元のマウス イベントのマウス ボタンの状態 (左右、上下) を確認する必要がないように便利になります。 標準以外のボタンの状態のチェックなど、より高度なシナリオでは、ContentElementではなく、Mouse クラスの API を使用することが必要になる場合があります。

Important

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

上記の重要で概説されている問題を解決し、これらのソリューションのいずれかを使用して、クラス処理を持つ派生クラスでマウスの左ボタンダウン イベントの MouseLeftButtonDown イベントを受け取ることができます。

  • コントロールによって処理済みとしてマークされていない PreviewMouseDown イベントのハンドラーをアタッチします。 これはプレビュー イベントであるため、ルートはルートから開始され、コントロールにトンネルダウンされます。

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

ルーティング イベント情報

品目 価値
識別子フィールド MouseLeftButtonDownEvent
ルーティング戦略 直接
代理人 MouseButtonEventHandler
  • 派生クラスでこのイベントのクラス処理を実装するには、 OnMouseLeftButtonDown をオーバーライドします。

適用対象

こちらもご覧ください