Condividi tramite


UIElement.GotFocus Evento

Definizione

Si verifica quando un oggetto UIElement riceve lo stato attivo. Questo evento viene generato in modo asincrono, in modo che lo stato attivo possa spostarsi nuovamente prima del completamento del bubbling.

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

Commenti

È consigliabile usare gli eventi indirizzati dello stato attivo UIElement anziché gli eventi FocusManager quando possibile.

Solo un singolo elemento dell'interfaccia utente alla volta può avere lo stato attivo.

Un controllo può ottenere lo stato attivo quando un altro controllo perde lo stato attivo, la visualizzazione dell'applicazione cambia, cambia le applicazioni o l'utente interagisce con il sistema in modo che l'applicazione non sia più in primo piano.

LostFocus viene generato prima di GotFocus.

Se si usa la composizione di controlli o la composizione dell'interfaccia utente e la gestione GotFocus in un contenitore, ad esempio un pannello o gridView, determinare quale elemento nella composizione ha ricevuto lo stato attivo controllando OriginalSource sui dati dell'evento.

Poiché l'evento GotFocus non dispone di dati di eventi specializzati, è possibile controllare la proprietà UIElement.FocusState per determinare se si tratta di codice utente o app che ha causato l'acquisizione dello stato attivo di un elemento.

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

Lo stato attivo della tastiera è particolarmente rilevante per la gestione degli eventi della tastiera, perché solo uiElement con lo stato attivo sulla tastiera può essere l'origine degli eventi dei tasti KeyUp e KeyDown . Le applicazioni possono chiamare UIElement.Focus(Microsoft.UI.Xaml.FocusState) come azione di inizializzazione in modo che gli eventi chiave nell'app nel suo complesso possano essere usati per rilevare l'accesso o i tasti di scelta rapida. Per altre info, vedi Interazioni con la tastiera.

GotFocus è un evento indirizzato. Per altre info sul concetto di evento indirizzato, vedi Panoramica degli eventi e degli eventi indirizzati.

I controlli Windows Runtime specifici possono avere una gestione basata su classi per l'eventoGotFocus. In tal caso, è probabile che il controllo abbia un override per il metodo OnGotFocus. In genere l'evento viene contrassegnato come gestito dal gestore della classe e l'evento GotFocus non viene generato per la gestione da parte di gestori di codice utente su tale controllo. I controlli possono gestire l'evento per caricare una proprietà dello stato di visualizzazione che visualizza un rettangolo di stato attivo.

Il rettangolo dello stato attivo di un controllo è un componente visivo importante che facilita l'accessibilità identificando l'elemento attivo corrente e indicando dove l'utente si trova all'interno della sequenza di schede dell'interfaccia utente dell'applicazione. In alcuni casi, focusState dell'azione messa a fuoco è rilevante per determinare se deve essere visualizzato un indicatore di stato attivo visibile.

Per altre info sul funzionamento della gestione basata su classi per gli eventi, vedi Panoramica degli eventi e degli eventi indirizzati. Per altre info sulle sequenze di schede e sull'accessibilità, vedi Accessibilità tramite tastiera.

Si applica a

Vedi anche