ContentElement.OnPreviewMouseLeftButtonDown(MouseButtonEventArgs) メソッド

定義

ハンドルされない PreviewMouseLeftButtonDown ルーティング イベントが、このクラスから派生したルート内の要素に到達したときに呼び出されます。 このイベントに対するクラス処理を追加するには、このメソッドを実装します。

protected public:
 virtual void OnPreviewMouseLeftButtonDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected internal virtual void OnPreviewMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs e);
abstract member OnPreviewMouseLeftButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnPreviewMouseLeftButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Friend Overridable Sub OnPreviewMouseLeftButtonDown (e As MouseButtonEventArgs)

パラメーター

e
MouseButtonEventArgs

イベント データを含む MouseButtonEventArgs 。 イベント データは、マウスの左ボタンが押されたことを報告します。

注釈

PreviewMouseLeftButtonDown イベントはトンネリング ルートを移動しているように見えますが、実際には間接的な方法で移動します。 Mouse.PreviewMouseDown はトンネル ルーティングされる基になるイベントであり、イベント ルートに沿った各 ContentElement は、同じ処理を使用してダイレクト ルーティング イベント PreviewMouseLeftButtonDownを発生させます。 PreviewMouseLeftButtonDown イベントは、この要素の目的で処理済みとしてマークできますが、処理された状態はイベント ルートに沿って他の要素に永続しません。 ただし、一般的なインスタンス ハンドラー ( handledEventsTooを指定しなかったハンドラー) が呼び出されないようにするために、イベントを処理済みとしてマークすることができます。

ContentElementでの一般的なマウス イベント処理の既定の実装では、Mouse.PreviewMouseDownをリッスンし、適切なローカル イベントに変換します。 このロジックをオーバーライドする場合は、派生クラスを作成する必要があります。 派生クラスの静的コンストラクターで、 Mouse.PreviewMouseDownの代替クラス ハンドラーを登録します。 OnPreviewMouseLeftButtonDownをオーバーライドして、ContentElementのマウス処理動作を変更することはできません。

または、特定のマウス状態のイベント処理を変更するために、このメソッドをオーバーライドすることもできます。 基本実装を呼び出すかどうかを選択するかどうかは、シナリオによって異なります。 base の呼び出しに失敗すると、 OnPreviewMouseLeftButtonDown呼び出す先祖クラスのマウス イベントの既定の入力処理が無効になります。 たとえば、基本実装を呼び出さずに、派生クラスの Button から派生し、 OnPreviewMouseLeftButtonDown をオーバーライドすることができますが、このオーバーライドでは Click イベントが無効になります。

適用対象