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 이벤트 데이터를 사용합니다. 대부분의 처리기 시나리오에서 의 가장 관련성이 큰 속성 KeyRoutedEventArgsKeyKeyStatus일 수 있습니다. KeyEventHandler 메서드를 정의하기 위한 예제 코드를 포함하여 키보드 이벤트 처리에 대한 자세한 내용은 키보드 상호 작용을 참조하세요.

키보드 이벤트를 처리하는 한 가지 시나리오는 앱 또는 앱 내의 지역 또는 컨트롤에 대한 액세스 키 또는 가속기 키를 지원하는 것입니다. 이 시나리오에 대한 자세한 내용은 키보드 접근성을 참조하세요.

특정 Windows 런타임 컨트롤에는 KeyDown 입력 이벤트에 대한 클래스 기반 처리가 있을 수 있습니다. 이 경우 컨트롤에 OnKeyDown 메서드에 대한 재정의가 있는 것 일 수 있습니다. 일반적으로 이러한 클래스 처리기는 해당 컨트롤과 키보드 기반 사용자 상호 작용을 가능하게 하는 키 누름의 하위 집합을 처리하기 위한 것입니다. 종종 이 상호 작용은 키보드 접근성 기능을 지원합니다. 키 누름이 클래스 기반 처리에 의해 처리되는 경우 키 누름은 이미 처리된 것으로 간주되며, KeyDown 이벤트는 해당 키에 대한 해당 컨트롤의 사용자 코드 처리기에서 처리하기 위해 특별히 발생하지 않습니다. 일반적으로 몇 가지 전용 키에만 사용됩니다. 예를 들어 ButtonBase 에는 Space 키와 Enter 키를 Button 호출에 해당하는 키보드로 처리할 수 있도록 클래스 처리가 있습니다. 이는 단추를 탭하거나 마우스로 클릭하는 것과 동등한 기본 제공 키보드를 제공하며 키보드만 사용하여 UI 및 단추를 사용하는 접근성 시나리오를 가능하게 합니다. 그러나 Space 또는 Enter 이외의 다른 키는 여전히 에 대한 ButtonKeyDown 및 KeyUp 이벤트를 실행합니다. 이벤트에 대한 클래스 기반 처리의 작동 방식에 대한 자세한 내용은 이벤트 및 라우트된 이벤트 개요를 참조하세요.

KeyDown 는 이벤트에 대한 이벤트 데이터가 처리됨으로 표시된 경우에도 호출될 경로에 이벤트 처리기를 연결하는 기능을 지원 합니다. AddHandler를 참조하세요.

적용 대상

추가 정보