Share via


UIElement.GotFocus Ereignis

Definition

Tritt auf, wenn ein UIElement den Fokus erhält. Dieses Ereignis wird asynchron ausgelöst, sodass der Fokus erneut verschoben werden kann, bevor das Sprudeln abgeschlossen ist.

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

Ereignistyp

Hinweise

Es wird empfohlen, nach Möglichkeit die UiElement-Fokusroutenereignisse anstelle von FocusManager-Ereignissen zu verwenden.

Nur ein einzelnes UI-Element gleichzeitig kann den Fokus haben.

Ein Steuerelement kann den Fokus erhalten, wenn ein anderes Steuerelement den Fokus verliert, sich die Anwendungsansicht ändert, der Benutzer anwendungen wechselt oder der Benutzer mit dem System interagiert, sodass sich die Anwendung nicht mehr im Vordergrund befindet.

LostFocus wird vor GotFocusausgelöst.

Wenn Sie das Compositing von Steuerelementen oder das Compositing und die Verarbeitung GotFocus der Benutzeroberfläche für einen Container wie panel oderGridView verwenden, bestimmen Sie, welches Element in der Komposition den Fokus erhalten hat, indem Sie die OriginalSource für die Ereignisdaten überprüfen.

Da das GotFocus Ereignis keine speziellen Ereignisdaten enthält, können Sie die UIElement.FocusState-Eigenschaft überprüfen, um festzustellen, ob es sich um Benutzer- oder App-Code handelt, der dazu führte, dass ein Element den Fokus erlangte.

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

Der Tastaturfokus ist besonders für die Behandlung von Tastaturereignissen relevant, da nur das derzeit tastaturorientierte UIElement die Quelle der KeyUp - und KeyDown-Tastenereignisse sein kann. Anwendungen können UIElement.Focus(Microsoft.UI.Xaml.FocusState) als Initialisierungsaktion aufrufen, sodass die Schlüsselereignisse in der App als Ganzes zum Erkennen von Zugriffs- oder Beschleunigungsschlüsseln verwendet werden können. Weitere Informationen finden Sie unter Tastaturinteraktionen.

GotFocus ist ein Routingereignis. Weitere Informationen zum Konzept für routingfähige Ereignisse finden Sie unter Übersicht über Ereignisse und routingfähige Ereignisse.

Bestimmte Windows-Runtime-Steuerelemente verfügen möglicherweise über eine klassenbasierte Behandlung für das GotFocus Ereignis. Wenn ja, hat das Steuerelement wahrscheinlich eine Überschreibung für die Methode OnGotFocus. In der Regel wird das Ereignis vom Klassenhandler behandelt, und das GotFocus-Ereignis wird nicht für die Behandlung von Benutzercodehandlern für dieses Steuerelement ausgelöst. Steuerelemente können das Ereignis behandeln, um eine visuelle Zustandseigenschaft zu laden, die ein Fokusrechteck anzeigt.

Das Fokusrechteck eines Steuerelements ist eine wichtige visuelle Komponente, die den Zugriff erleichtert, indem das aktuelle fokussierte Element identifiziert und angegeben wird, wo sich der Benutzer in der Registerkartensequenz der Anwendungsbenutzeroberfläche befindet. In einigen Fällen ist der FocusState der Fokusaktion für die Anzeige eines sichtbaren Fokusindikators relevant.

Weitere Informationen zur Funktionsweise der klassenbasierten Behandlung für Ereignisse finden Sie unter Übersicht über Ereignisse und Routingereignisse. Weitere Informationen zu Registerkartensequenzen und Barrierefreiheit finden Sie unter Tastaturzugriff.

Gilt für:

Weitere Informationen