UIElement.MouseDown イベント


この要素の上にポインターがある状態でマウス ボタンが押されたときに発生します。Occurs when any mouse button is pressed while the pointer is over this element.

 event System::Windows::Input::MouseButtonEventHandler ^ MouseDown;
public event System.Windows.Input.MouseButtonEventHandler MouseDown;
member this.MouseDown : System.Windows.Input.MouseButtonEventHandler 
Public Custom Event MouseDown As MouseButtonEventHandler 


このイベントは、このクラスの Mouse.MouseDown 添付イベントのエイリアスを作成し、UIElement が基本要素として継承されている場合に、MouseDown がクラスメンバーリストの一部になるようにします。This event creates an alias for the Mouse.MouseDown attached event for this class, so that MouseDown is part of the class members list when UIElement is inherited as a base element. MouseDown イベントにアタッチされるイベントハンドラーは、基になる Mouse.MouseDown アタッチされるイベントにアタッチされ、同じイベントデータインスタンスを受け取ります。Event handlers that are attached to the MouseDown event are attached to the underlying Mouse.MouseDown attached event and receive the same event data instance.

MouseDown イベントは、多くの場合、MouseLeftButtonDown または MouseRightButtonDownと共に発生します。これは、2つの標準マウスボタンのいずれかの押下に対応します。The MouseDown event is often raised together with either MouseLeftButtonDown or MouseRightButtonDown, which correspond to a press of one of the two standard mouse buttons. MouseLeftButtonDownMouseRightButtonDown もルーティングイベントですが、これらは直接ルーティングイベントであり、Mouse.MouseDown イベントがイベントルートに沿ってこの要素に到達すると、適切なボタン固有のイベントが発生します。MouseLeftButtonDown and MouseRightButtonDown are also routed events, but they are direct routed events, and the appropriate button-specific event is raised when the Mouse.MouseDown event reaches this element along the event route. MouseLeftButtonDown または MouseRightButtonDownについては、「解説」を参照してください。See Remarks for MouseLeftButtonDown or MouseRightButtonDown.


一部のコントロールには、マウスボタンイベントに固有のクラス処理が含まれる場合があります。Some controls might have inherent class handling for mouse button events. マウスの左ボタンダウンイベントは、コントロールでクラス処理を行う最も可能性の高いイベントです。The left mouse button down event is the most likely event to have class handling in a control. クラスの処理では、多くの場合、基になる Mouse クラスのイベントを処理済みとしてマークします。The class handling often marks the underlying Mouse class event as handled. イベントが処理済みとしてマークされると、その要素にアタッチされている他のインスタンスハンドラーは通常は発生しません。Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. UI ツリー内のルートに向かうバブル方向の要素に関連付けられているその他のクラスまたはインスタンスハンドラーも、通常は発生しません。Any other class or instance handlers that are attached to elements in the bubbling direction towards the root in the UI tree are also not ordinarily raised.

前の「」で説明されている問題を解決しても、次のいずれかの方法を使用してクラスを処理する派生クラスで、マウスの左ボタンダウンイベントの MouseDown イベントを受け取ることができます。You can resolve the issue that is outlined in the preceding Important and still receive MouseDown events for left mouse button down events on a derived class that has class handling by using either of these solutions:

  • PreviewMouseDown イベントのハンドラーをアタッチします。これは、コントロールによって処理されるようにマークされていません。Attach handlers for the PreviewMouseDown event, which is not marked as handled by the controls. これはプレビューイベントであるため、ルートからルートが開始され、コントロールにトンネリングされることに注意してください。Notice that because this is a preview event, the route starts at the root and tunnels down to the control.

  • AddHandler を呼び出し、ハンドラーがルーティングイベントデータで既に処理済みとしてマークされている場合でもイベントをリッスンできるようにする署名オプションを選択して、コントロール procedurally にハンドラーを登録します。Register a handler on the control procedurally by calling AddHandler and choosing the signature option that enables handlers to listen for events even if they are already marked as handled in the routed event data.

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

識別子フィールドIdentifier field MouseDownEvent
ルーティング方法Routing strategy バブリングBubbling
DelegateDelegate MouseButtonEventHandler
  • 対応するトンネリングイベントは PreviewMouseDownです。The corresponding tunneling event is PreviewMouseDown.

  • 派生クラスでこのイベントのクラス処理を実装するには、OnMouseDown をオーバーライドします。Override OnMouseDown to implement class handling for this event in derived classes.