Mouse.PreviewMouseDown 添付イベント


任意のマウス ボタンが押されると発生します。Occurs when any mouse button is depressed.

see AddPreviewMouseDownHandler, and RemovePreviewMouseDownHandler
see AddPreviewMouseDownHandler, and RemovePreviewMouseDownHandler
see AddPreviewMouseDownHandler, and RemovePreviewMouseDownHandler


どのマウスボタンが押されたかは、イベントの引数を確認することによって決定されます。Which mouse button was depressed is determined by checking the arguments of the event. これは、入力を受け取る既存の要素によって参照される添付イベント構文を通じて使用される添付イベント (トンネリングルーティング戦略を使用) です ユーザー インターフェイス (UI)user interface (UI)This is an attached event (using tunneling routing strategy) that is intended through attached event syntax to be referenced by existing ユーザー インターフェイス (UI)user interface (UI) elements that take input.

これは添付イベントです。This is an attached event. WPFWPF 添付イベントをルーティングイベントとして実装します。implements attached events as routed events. 添付イベントは、基本的には、イベントを定義して XAMLXAML いないオブジェクトで処理できるイベントを参照するための言語の概念です。これは、 WPFWPF イベントがルートを走査できるようにすることによって展開されます。Attached events are fundamentally a XAMLXAML language concept for referencing events that can be handled on objects that do not define that event, which WPFWPF expands upon by also enabling the event to traverse a route. アタッチされたイベントには、コードで直接処理構文がありません。コードでルーティングイベントのハンドラーをアタッチするには、指定された Add * Handler メソッドを使用します。Attached events do not have a direct handling syntax in code; to attach handlers for a routed event in code, you use a designated Add*Handler method. 詳細については、「 添付イベントの概要」を参照してください。For details, see Attached Events Overview.

フレームワークは、 Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) との2つの異なるイベントとして提示することで、この添付イベントに基づいて構築され 共通言語ランタイム (CLR)common language runtime (CLR) UIElement PreviewMouseLeftButtonDown PreviewMouseRightButtonDown ます。The Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) framework builds on this attached event by surfacing it as two different 共通言語ランタイム (CLR)common language runtime (CLR) events on UIElement: PreviewMouseLeftButtonDown and PreviewMouseRightButtonDown. これらの実装は、基になるイベントを処理 PreviewMouseDown し、イベントの引数を読み取って、マウスの左ボタンまたは右ボタンが関係していたかどうかを判断します。These implementations handle the underlying PreviewMouseDown event and read the arguments of the event to determine whether the left or right mouse button was involved. 3つのボタンについては、[中央] ボタンのフレームワークレベルのイベントサポートがないため、 PreviewMouseDown イベントを使用して、イベント引数の中央ボタンの条件を確認する必要があります。For three-button, there is no framework-level event support for the center button, and you should use the PreviewMouseDown event and check for the center button condition in the event arguments.

マウスに関連するルーティングイベントの場合は、どのように処理されたかをマークする方法やタイミングに注意してください。For routed events that relate to the mouse, be careful about how or when you mark them handled. ルート付近のイベントを処理し、そのイベントをソースに対してさらに子によって処理することは、複合コントロールには適していない可能性があります。この場合、合成部分では、マウスの動作が期待されることがあります。Handling the event near the root and handling it by a child further toward the source may not be appropriate for composited controls, where the compositing pieces might have expected mouse behaviors. 特定のマウスアクションについて他の要素にも通知する必要があるかどうかについて、適切な選択を行うことが困難です。これは、 WPFWPF フレームワークが基になるルーティングイベントのモデルを選択し Mouse て、ルートにイベントとして表示される理由です CLRCLRThe difficulty in making the appropriate choices about whether other elements should also be informed about any given mouse action is in fact why the WPFWPF framework chose the model of having the underlying Mouse routed event be surfaced as CLRCLR events along the route.

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

識別子フィールドIdentifier field PreviewMouseDownEvent
ルーティング方法Routing strategy トンネリングTunneling
代理人Delegate MouseButtonEventHandler
  • 対応するバブルイベントは MouseDown です。The corresponding bubbling event is MouseDown.