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」を参照してください。

適用対象

こちらもご覧ください