Partilhar via


UIElement.GotFocus Evento

Definição

Ocorre quando um UIElement recebe o foco. Esse evento é gerado de forma assíncrona, para que o foco possa se mover novamente antes que o borbulhamento seja concluído.

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

Tipo de evento

Comentários

É recomendável usar os eventos roteados de foco UIElement em vez de eventos FocusManager sempre que possível.

Somente um único elemento de interface do usuário por vez pode ter foco.

Um controle pode obter foco quando outro controle perde o foco, a exibição do aplicativo é alterada, o usuário alterna aplicativos ou o usuário interage com o sistema de modo que o aplicativo não esteja mais em primeiro plano.

LostFocus é gerado antes GotFocusde .

Se você estiver usando a composição de controle ou a interface do usuário compondo e manipulando GotFocus em um contêiner, como um Panel ou GridView, determine qual elemento na composição recebeu o foco verificando o OriginalSource nos dados do evento.

Como o GotFocus evento não tem nenhum dado de evento especializado, você pode marcar a propriedade UIElement.FocusState para determinar se foi o código do usuário ou do aplicativo que fez com que um elemento ganhasse o foco.

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

O foco do teclado é particularmente relevante para a manipulação de eventos de teclado, pois apenas o UIElement focado no teclado no momento pode ser a origem dos eventos de tecla KeyUp e KeyDown . Os aplicativos podem chamar UIElement.Focus(Microsoft.UI.Xaml.FocusState) como uma ação de inicialização para que os principais eventos no aplicativo como um todo possam ser usados para detectar chaves de acesso ou aceleradoras. Para obter mais informações, consulte Interações por teclado.

GotFocus é um evento roteado. Para obter mais informações sobre o conceito de evento roteado, consulte Visão geral de eventos e eventos roteado.

Controles de Windows Runtime específicos podem ter tratamento baseado em classe para o GotFocus evento. Nesse caso, o controle provavelmente tem uma substituição para o método OnGotFocus. Normalmente, o evento é marcado como manipulado pelo manipulador de classe e o evento GotFocus não é gerado para manipulação por nenhum manipulador de código de usuário nesse controle. Os controles podem manipular o evento para carregar uma propriedade de estado visual que exibe um retângulo de foco.

O retângulo de foco de um controle é um componente visual importante que auxilia na acessibilidade identificando o elemento focalizado atual e indicando onde o usuário está dentro da sequência de guias da interface do usuário do aplicativo. Em alguns casos, o FocusState da ação de foco é relevante para saber se um indicador de foco visível deve ser exibido.

Para obter mais informações sobre como funciona o tratamento baseado em classe para eventos, consulte Visão geral de eventos e eventos roteado. Para obter mais informações sobre sequências de guias e acessibilidade, consulte Acessibilidade do teclado.

Aplica-se a

Confira também