UIElement.KeyDown イベント

定義

UIElement にフォーカスがあるときにキーボード キーが押されたときに発生します。

public:
 virtual event KeyEventHandler ^ KeyDown;
// Register
event_token KeyDown(KeyEventHandler const& handler) const;

// Revoke with event_token
void KeyDown(event_token const* cookie) const;

// Revoke with event_revoker
UIElement::KeyDown_revoker KeyDown(auto_revoke_t, KeyEventHandler const& handler) const;
public event KeyEventHandler KeyDown;
function onKeyDown(eventArgs) { /* Your code */ }
uIElement.addEventListener("keydown", onKeyDown);
uIElement.removeEventListener("keydown", onKeyDown);
- or -
uIElement.onkeydown = onKeyDown;
Public Custom Event KeyDown As KeyEventHandler 
<uiElement KeyDown="eventhandler"/>

イベントの種類

注釈

UI のコントロールに入力フォーカスがあるときにだけ、キーボード イベントが生成されます。 既定では、ビジュアル ツリー内の最初のフォーカス可能な要素には、システムによってフォーカスが与えられます。 ユーザーがレイアウト内でそのコントロールを直接クリックまたはタップするか、Tab キーを使用してコンテンツ領域内のタブ シーケンスにステップインすると、個々のコントロールがフォーカスを取得します。 UIElement.Focus(Microsoft.UI.Xaml.FocusState) を呼び出すことで、プログラムによってコントロールにフォーカスを設定することもできます。

KeyDown はルーティング イベントです。 ルーティング イベントの概念の詳細については、「 イベントとルーティング イベントの概要」を参照してください。

KeyDown は KeyRoutedEventArgs イベント データを使用します。 ほとんどのハンドラー シナリオで の最も関連性の高いプロパティ KeyRoutedEventArgs、Key場合によっては KeyStatus ですKeyEventHandler メソッドを定義するためのコード例など、キーボード イベントの処理の詳細については、「キーボード操作」を参照してください。

キーボード イベントを処理するシナリオの 1 つは、アプリのアクセス キーまたはアクセラレータ キー、またはアプリ内のリージョンまたはコントロールをサポートすることです。 このシナリオの詳細については、「 キーボード のアクセシビリティ」を参照してください。

特定のWindows ランタイム コントロールには、KeyDown 入力イベントに対するクラスベースの処理が含まれる場合があります。 その場合、コントロールには OnKeyDown メソッドのオーバーライドが含まれている可能性があります。 通常、これらのクラス ハンドラーは、そのコントロールとのキーボード ベースのユーザー操作を可能にするキー押しのサブセットを処理することを目的としています。 多くの場合、この操作ではキーボード のアクセシビリティ機能がサポートされます。 キー押下がクラスベースの処理によって処理される場合、キー押下は既に処理されていると見なされ、そのキーに対するそのコントロールのユーザー コード ハンドラーによる処理に対して KeyDown イベントは発生しません。 通常、これはいくつかの専用キーに対して行われます。 たとえば、 ButtonBase にはクラス処理があり、 Space キーと Enter キーは Button を呼び出すためのキーボードと同等のものとして処理されます。 これにより、ボタンをタップしたり、マウスでクリックしたりするための組み込みのキーボードが提供され、キーボードのみを使用して UI とボタンを使用するアクセシビリティシナリオが可能になります。 ただし、 Space または Enter 以外の他のキーでも、 の KeyDown イベントと KeyUp イベントが Button発生します。 イベントのクラスベースの処理のしくみの詳細については、「 イベントとルーティング イベントの概要」を参照してください。

KeyDown では、イベントのイベント データが Handled とマークされている場合でも呼び出されるルートにイベント ハンドラーをアタッチする機能がサポートされています。 「 AddHandler」を参照してください。

適用対象

こちらもご覧ください