Поделиться через


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"/>

Тип события

Комментарии

Мы рекомендуем по возможности использовать перенаправленные события фокуса UIElement вместо событий FocusManager .

Фокус может иметь только один элемент пользовательского интерфейса одновременно.

Элемент управления может получить фокус, когда другой элемент управления теряет фокус, изменяется представление приложения, пользователь переключает приложения или пользователь взаимодействует с системой таким образом, что приложение больше не находится на переднем плане.

LostFocus поднимается перед GotFocus.

Если вы используете управление компоновкой или составлением элементов пользовательского интерфейса и обработкой GotFocus в контейнере, например Panel или GridView, определите, какой элемент в композиции получил фокус, проверив OriginalSource на данных события.

GotFocus Так как событие не содержит специализированных данных события, можно проверка свойство UIElement.FocusState, чтобы определить, был ли он пользователем или кодом приложения, который вызвал фокус элемента.

private void panel_GotFocus(object sender, RoutedEventArgs e)
{
    UIElement uie = e.OriginalSource as UIElement;
    FocusState fc = uie.FocusState;
}

Фокус клавиатуры особенно актуален для обработки событий клавиатуры, так как источником событий клавиш KeyUp и KeyDown может быть только текущий uiElement, ориентированный на клавиатуру. Приложения могут вызывать UIElement.Focus(Microsoft.UI.Xaml.FocusState) в качестве действия инициализации, чтобы ключевые события в приложении в целом можно было использовать для обнаружения клавиш доступа или сочетания клавиш. Дополнительные сведения см. в статье Взаимодействия с помощью клавиатуры.

GotFocus — это перенаправленное событие. Дополнительные сведения о концепции перенаправленных событий см. в статье Общие сведения о событиях и перенаправленных событиях.

Определенные элементы управления среда выполнения Windows могут обрабатывать событие на основе GotFocus классов. В этом случае элемент управления, вероятно, имеет переопределение для метода OnGotFocus. Обычно событие помечается обработчиком класса, а событие GotFocus не вызывается для обработки обработчиками пользовательского кода в этом элементе управления. Элементы управления могут обрабатывать событие для загрузки свойства визуального состояния, отображающего прямоугольник фокуса.

Прямоугольник фокуса элемента управления — это важный визуальный компонент, который помогает обеспечить специальные возможности, определяя текущий элемент фокусировки и указывая, где пользователь находится в последовательности вкладок пользовательского интерфейса приложения. В некоторых случаях значение FocusState действия фокуса определяет, должен ли отображаться видимый индикатор фокуса.

Дополнительные сведения о том, как работает обработка событий на основе классов, см. в статье Обзор событий и перенаправленных событий. Дополнительные сведения о последовательностях вкладок и специальных возможностях см. в разделе Специальные возможности клавиатуры.

Применяется к

См. также раздел