ContentElement.OnMouseDown(MouseButtonEventArgs) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アタッチされた未処理の MouseDown イベントが、そのルート上で、このクラスから派生した要素に到達すると呼び出されます。 このイベントに対するクラス処理を追加するには、このメソッドを実装します。
protected public:
virtual void OnMouseDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected internal virtual void OnMouseDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Friend Overridable Sub OnMouseDown (e As MouseButtonEventArgs)
パラメーター
イベント データを格納している MouseButtonEventArgs。 このイベント データは、押されたマウス ボタンおよび処理済み状態に関する詳細を報告します。
注釈
マウス ボタンのアクションは、専用の入力マネージャーによっても処理されます。 入力やコマンド バインドなど、マウス ボタン アクションに依存するその他のプログラミング機能では、一般的なマウス ボタン アクションとして公開される前に、アクションのハンドラーを呼び出す場合があります。 これらの入力システム機能によってイベントが処理済みとしてマークされている Mouse.MouseDown 場合、 OnMouseDown は呼び出されません。
このクラス ハンドラーを使用してイベントを処理済みとしてマークすると、次のイベントに影響を与える可能性があります: MouseLeftButtonDown と MouseRightButtonDown。 これらのイベントは、受信時 Mouse.MouseDown に受信側要素で発生する可能性があります。
このイベントをクラス処理で処理済みとしてマークすると、サブイベントは引き続き発生します。ただし、イベント データで処理された状態を渡します。 イベントがクラス処理で処理される場合、ハンドラーをアタッチするために を明示的に 使用AddHandler(RoutedEvent, Delegate, Boolean)handledEventsToo
true
しない限り、サブイベントのインスタンス ハンドラーは呼び出されません。 クラス ハンドラーは、 を使用してシグネチャhandledEventsToo
true
に登録されていない限り、RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean)呼び出されません。 を処理 OnMouseDownすることで、クラス処理がマウス ボタンダウンアクションの可能性をすべて考慮に入れたことを意味します。 この動作は望ましくない可能性があります。そのため、この仮想メソッドを使用してイベントを処理済みとしてマークする場合は注意が必要です。
ボタン固有の各ダイレクト イベントには、仮想 On* メソッドもあります。これらのボタン固有のクラス ハンドラーをオーバーライドする方が適切かどうかを検討してください。
このメソッドには、既定の実装はありません。 継承の中間クラスがこのメソッドを実装する可能性があるため、実装で基本実装を呼び出することをお勧めします。
このメソッドの目的は、共通言語ランタイム (CLR) イベント パターン On* メソッドに似ています。このメソッドは、インスタンス ハンドラーではなくクラス ハンドラーを確立することによって、派生クラスから一致するイベントを処理する手段を提供します。 この場合、一致するイベントはルーティング イベントです。 ルーティング イベントは子要素によって発生する可能性があるため、On* メソッドの実装パターンはルーティング イベントに対して異なります。これは、必ずしもハンドラーを呼び出す要素ではありません。 そのため、実装ではイベント データのソース プロパティを調べる必要があります。 ほとんどの場合、イベントを再評価しようとしないでください。
このメソッドをオーバーライドするか、 の派生クラスContentElementを使用RegisterClassHandlerしてクラス ハンドラーを登録することで、イベントがイベント ルートに沿って受信されたときにプライベート クラス ハンドラー メソッドを呼び出すことができます。 クラス処理が適切なシナリオの 1 つは、イベント データを操作し、ルーティング イベントを処理済みとしてマークすることです。
適用対象
こちらもご覧ください
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示