次の方法で共有


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 提供されるサービス定義を使用して) マウスの "サービス" であると考えてください。 このイベントにより、元のマウス イベントのマウス ボタンの状態 (左右、上下) をイベント データにチェックする必要がなくなったという利便性が向上します。 標準以外のボタンの状態を確認するなど、より高度なシナリオでは、 ではなく、 クラスContentElementMouse API を使用する必要がある場合があります。

重要

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

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

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

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

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

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

適用対象

こちらもご覧ください