UIElement.GotFocus 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
// Register
event_token GotFocus(RoutedEventHandler const& handler) const;
// Revoke with event_token
void GotFocus(event_token const* cookie) const;
// Revoke with event_revoker
UIElement::GotFocus_revoker GotFocus(auto_revoke_t, RoutedEventHandler const& handler) const;
public event RoutedEventHandler GotFocus;
function onGotFocus(eventArgs) { /* Your code */ }
uIElement.addEventListener("gotfocus", onGotFocus);
uIElement.removeEventListener("gotfocus", onGotFocus);
- or -
uIElement.ongotfocus = onGotFocus;
Public Custom Event GotFocus As RoutedEventHandler
<uiElement GotFocus="eventhandler"/>
이벤트 유형
설명
가능하면 FocusManager 이벤트 대신 UIElement 포커스 라우트된 이벤트를 사용하는 것이 좋습니다.
한 번에 하나의 UI 요소만 포커스를 가질 수 있습니다.
컨트롤은 다른 컨트롤이 포커스를 잃거나, 애플리케이션 보기가 변경되거나, 사용자가 애플리케이션을 전환하거나, 애플리케이션이 더 이상 포그라운드에 있지 않도록 시스템과 상호 작용할 때 포커스를 얻을 수 있습니다.
LostFocus 는 이전에 GotFocus
발생합니다.
Panel 또는 GridView와 같은 컨테이너에서 컨트롤 작성 또는 UI 작성 및 처리를 GotFocus
사용하는 경우 이벤트 데이터에서 OriginalSource를 확인하여 컴퍼지션에서 포커스를 받은 요소를 결정합니다.
GotFocus
이벤트에 특수한 이벤트 데이터가 없으므로 UIElement.FocusState 속성을 검사 요소가 포커스를 얻도록 한 사용자 또는 앱 코드인지 확인할 수 있습니다.
private void panel_GotFocus(object sender, RoutedEventArgs e)
{
UIElement uie = e.OriginalSource as UIElement;
FocusState fc = uie.FocusState;
}
키보드 포커스는 특히 키보드 이벤트 처리와 관련이 있습니다. 현재 키보드 중심 UIElement만 KeyUp 및 KeyDown 키 이벤트의 원본이 될 수 있기 때문입니다. 애플리케이션은 앱 전체의 키 이벤트를 사용하여 액세스 또는 가속기 키를 검색할 수 있도록 UIElement.Focus(Microsoft.UI.Xaml.FocusState) 를 초기화 작업으로 호출할 수 있습니다. 자세한 내용은 키보드 조작을 참조하세요.
GotFocus
는 라우트된 이벤트입니다. 라우트된 이벤트 개념에 대한 자세한 내용은 이벤트 및 라우트된 이벤트 개요를 참조하세요.
특정 Windows 런타임 컨트롤에는 이벤트에 대한 클래스 기반 처리가 GotFocus
있을 수 있습니다. 이 경우 컨트롤에 OnGotFocus 메서드에 대한 재정의가 있는 것일 수 있습니다. 일반적으로 이벤트는 클래스 처리기에 의해 처리된 것으로 표시되며 해당 컨트롤의 사용자 코드 처리기에서 처리하기 위해 GotFocus 이벤트가 발생하지 않습니다. 컨트롤은 포커스 사각형을 표시하는 시각적 상태 속성을 로드하기 위해 이벤트를 처리할 수 있습니다.
컨트롤의 포커스 사각형은 현재 포커스가 있는 요소를 식별하고 사용자가 애플리케이션 UI의 탭 시퀀스 내에 있는 위치를 표시하여 접근성을 지원하는 중요한 시각적 구성 요소입니다. 경우에 따라 포커스 작업의 FocusState 는 표시되는 포커스 표시기가 표시되어야 하는지 여부와 관련이 있습니다.
이벤트에 대한 클래스 기반 처리의 작동 방식에 대한 자세한 내용은 이벤트 및 라우트된 이벤트 개요를 참조하세요. 탭 시퀀스 및 접근성에 대한 자세한 내용은 키보드 접근성을 참조하세요.