Keyboard.GotKeyboardFocus Angefügtes Ereignis

Definition

Tritt auf, wenn ein Element den Tastaturfokus erhält.

see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler
see AddGotKeyboardFocusHandler, and RemoveGotKeyboardFocusHandler

Beispiele

Das folgende Beispiel erstellt einen TextBox und fügt Ereignishandler für das GotKeyboardFocus Ereignis und das LostKeyboardFocus Ereignis an. Wenn der TextBox Tastaturfokus erhält, wird die Hintergrundfarbe geändert, und der Text des TextBox wird gelöscht. Wenn der TextBlock Tastaturfokus verloren geht, wird die Hintergrundfarbe geändert, und es wird eine Methode aufgerufen, die im Beispiel verwendete Variablen zurücksetzt.

<Border BorderBrush="Black" BorderThickness="1"
        Width="200" Height="100" Margin="5">
  <StackPanel>
    <Label HorizontalAlignment="Center" Content="Type Text In This TextBox" />
    <TextBox Width="175"
             Height="50" 
             Margin="5"
             TextWrapping="Wrap"
             HorizontalAlignment="Center"
             VerticalScrollBarVisibility="Auto"
             GotKeyboardFocus="TextBoxGotKeyboardFocus"
             LostKeyboardFocus="TextBoxLostKeyboardFocus"
             KeyDown="SourceTextKeyDown"/>
  </StackPanel>
</Border>
private void TextBoxGotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
    TextBox source = e.Source as TextBox;

    if (source != null)
    {
        // Change the TextBox color when it obtains focus.
        source.Background = Brushes.LightBlue;

        // Clear the TextBox.
        source.Clear();
    }
}
Private Sub TextBoxGotKeyboardFocus(ByVal sender As Object, ByVal e As KeyboardFocusChangedEventArgs)
    Dim source As TextBox = TryCast(e.Source, TextBox)

    If source IsNot Nothing Then
        ' Change the TextBox color when it obtains focus.
        source.Background = Brushes.LightBlue

        ' Clear the TextBox.
        source.Clear()
    End If
End Sub
private void TextBoxLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
    TextBox source = e.Source as TextBox;

    if (source != null)
    {
        // Change the TextBox color when it loses focus.
        source.Background = Brushes.White;

        // Set the  hit counter back to zero and updates the display.
        this.ResetCounter();
    }
}
Private Sub TextBoxLostKeyboardFocus(ByVal sender As Object, ByVal e As KeyboardFocusChangedEventArgs)
    Dim source As TextBox = TryCast(e.Source, TextBox)

    If source IsNot Nothing Then
        ' Change the TextBox color when it loses focus.
        source.Background = Brushes.White

        ' Set the  hit counter back to zero and updates the display.
        Me.ResetCounter()
    End If
End Sub

Hinweise

Dies ist ein angefügtes Ereignis. WPF implementiert angefügte Ereignisse als routingfähige Ereignisse. Angefügte Ereignisse sind im Grunde ein XAML-Sprachkonzept zum Verweisen auf Ereignisse, die für Objekte behandelt werden können, die dieses Ereignis nicht definieren. WPF erweitert das Ereignis, indem das Ereignis auch eine Route durchlaufen kann. Angefügte Ereignisse verfügen nicht über eine direkte Verarbeitungssyntax im Code. Um Handler für ein routingfähiges Ereignis im Code anzufügen, verwenden Sie eine festgelegte Add*Handler-Methode. Ausführliche Informationen finden Sie unter Übersicht über angefügte Ereignisse.

Tastaturfokus bezieht sich auf das Objekt, das Tastatureingaben empfängt. Das Element mit Tastaturfokus ist IsKeyboardFocused auf truefestgelegt. Es kann nur ein Element mit Tastaturfokus auf dem gesamten Desktop vorhanden sein. Logischer Fokus bezieht sich auf das Objekt in einem Fokusbereich mit Fokus. Weitere Informationen zu Fokus, Tastaturfokus und logischem Fokus finden Sie unter Eingabeübersicht und Fokusübersicht.

Wenn das PreviewGotKeyboardFocus Ereignis oder das Ereignis behandelt wird, ändert sich der PreviewLostKeyboardFocus Tastaturfokus.

Informationen zum Routingereignis

Bezeichnerfeld GotKeyboardFocusEvent
Routingstrategie Bubbling
Delegat KeyboardFocusChangedEventHandler

Gilt für: