UIElement.OnKeyDown(KeyEventArgs) メソッド

定義

アタッチされた未処理の KeyDown イベントが、そのルート上で、このクラスから派生した要素に到達すると呼び出されます。 このイベントに対するクラス処理を追加するには、このメソッドを実装します。

protected:
 virtual void OnKeyDown(System::Windows::Input::KeyEventArgs ^ e);
protected virtual void OnKeyDown (System.Windows.Input.KeyEventArgs e);
abstract member OnKeyDown : System.Windows.Input.KeyEventArgs -> unit
override this.OnKeyDown : System.Windows.Input.KeyEventArgs -> unit
Protected Overridable Sub OnKeyDown (e As KeyEventArgs)

パラメーター

e
KeyEventArgs

イベント データを格納している KeyEventArgs

注釈

キーストロークは、専用の入力マネージャーによって処理されます。 入力とコマンドのバインドなど、キーストロークに依存するその他のプログラミング機能では、一般的なキーストロークとして公開される前にキーストロークが処理される場合があります。 これらの入力システム機能によってイベントが処理済みとしてマークされている場合、 OnKeyDown は呼び出されません。

このメソッドには、既定の実装はありません。 継承の中間クラスがこのメソッドを実装する可能性があるため、実装で基本実装を呼び出することをお勧めします。

このメソッドの目的は、共通言語ランタイム (CLR) イベント パターン On* メソッドに似ています。このメソッドは、インスタンス ハンドラーではなくクラス ハンドラーを確立することによって、派生クラスから一致するイベントを処理する手段を提供します。 この場合、一致するイベントはルーティング イベントです。 ルーティング イベントは子要素によって発生する可能性があるため、On* メソッドの実装パターンはルーティング イベントに対して異なります。これは、必ずしもハンドラーを呼び出す要素ではありません。 そのため、実装ではイベント データのソース プロパティを調べる必要があります。 ほとんどの場合、イベントを再評価しようとしないでください。

このメソッドをオーバーライドするか、 の派生クラスUIElementを使用RegisterClassHandlerしてクラス ハンドラーを登録することで、イベントがイベント ルートに沿って受信されたときにプライベート クラス ハンドラー メソッドを呼び出すことができます。 クラス処理が適切なシナリオの 1 つは、イベント データを操作し、ルーティング イベントを処理済みとしてマークすることです。

適用対象

こちらもご覧ください