다음을 통해 공유


UIElement.GotFocus 이벤트

정의

UIElement가 포커스를 받을 때 발생합니다. 이 이벤트는 비동기적으로 발생하므로 버블링이 완료되기 전에 포커스가 다시 이동할 수 있습니다.

// 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;
}

키보드 포커스는 특히 키보드 이벤트 처리와 관련이 있습니다. 현재 키보드 중심 UIElementKeyUp 및 KeyDown 키 이벤트의 원본이 될 수 있기 때문입니다. 애플리케이션은 앱 전체의 키 이벤트를 사용하여 액세스 또는 가속기 키를 검색할 수 있도록 UIElement.Focus(Microsoft.UI.Xaml.FocusState) 를 초기화 작업으로 호출할 수 있습니다. 자세한 내용은 키보드 조작을 참조하세요.

GotFocus 는 라우트된 이벤트입니다. 라우트된 이벤트 개념에 대한 자세한 내용은 이벤트 및 라우트된 이벤트 개요를 참조하세요.

특정 Windows 런타임 컨트롤에는 이벤트에 대한 클래스 기반 처리가 GotFocus 있을 수 있습니다. 이 경우 컨트롤에 OnGotFocus 메서드에 대한 재정의가 있는 것일 수 있습니다. 일반적으로 이벤트는 클래스 처리기에 의해 처리된 것으로 표시되며 해당 컨트롤의 사용자 코드 처리기에서 처리하기 위해 GotFocus 이벤트가 발생하지 않습니다. 컨트롤은 포커스 사각형을 표시하는 시각적 상태 속성을 로드하기 위해 이벤트를 처리할 수 있습니다.

컨트롤의 포커스 사각형은 현재 포커스가 있는 요소를 식별하고 사용자가 애플리케이션 UI의 탭 시퀀스 내에 있는 위치를 표시하여 접근성을 지원하는 중요한 시각적 구성 요소입니다. 경우에 따라 포커스 작업의 FocusState 는 표시되는 포커스 표시기가 표시되어야 하는지 여부와 관련이 있습니다.

이벤트에 대한 클래스 기반 처리의 작동 방식에 대한 자세한 내용은 이벤트 및 라우트된 이벤트 개요를 참조하세요. 탭 시퀀스 및 접근성에 대한 자세한 내용은 키보드 접근성을 참조하세요.

적용 대상

추가 정보