Keyboard.GotKeyboardFocus Zdarzenie dołączone

Definicja

Występuje, gdy element odbiera fokus klawiatury.

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

Przykłady

Poniższy przykład tworzy TextBox i dołącza programy obsługi zdarzeń GotKeyboardFocus dla zdarzenia i LostKeyboardFocus zdarzenia. TextBox Po uzyskaniu fokusu klawiatury kolor tła zostanie zmieniony, a tekst TextBox zostanie wyczyszczone. TextBlock Po utracie fokusu klawiatury kolor tła jest zmieniany, a metoda jest wywoływana, która resetuje zmienne używane w przykładzie.

<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

Uwagi

Jest to dołączone zdarzenie. WPF implementuje dołączone zdarzenia jako zdarzenia kierowane. Dołączone zdarzenia są zasadniczo koncepcją języka XAML służącą do odwoływania się do zdarzeń, które mogą być obsługiwane w obiektach, które nie definiują tego zdarzenia, co rozszerza WPF, włączając również zdarzenie do przechodzenia przez trasę. Dołączone zdarzenia nie mają składni obsługi bezpośredniej w kodzie; aby dołączyć programy obsługi dla zdarzenia kierowanego w kodzie, należy użyć wyznaczonej metody Add*Handler. Aby uzyskać szczegółowe informacje, zobacz Omówienie dołączonych zdarzeń.

Fokus klawiatury odnosi się do obiektu odbierającego dane wejściowe klawiatury. Element z fokusem klawiatury ma IsKeyboardFocused ustawioną wartość true. Na całym pulpicie może być tylko jeden element z fokusem klawiatury. Fokus logiczny odnosi się do obiektu w zakresie fokusu, który ma fokus. Aby uzyskać więcej informacji na temat fokusu, fokusu klawiatury i fokusu logicznego, zobacz Omówienie danych wejściowych i Omówienie koncentracji uwagi.

PreviewGotKeyboardFocus Jeśli zdarzenie lub PreviewLostKeyboardFocus zdarzenie jest obsługiwane, fokus klawiatury zmienia się.

Informacje dotyczące kierowanego zdarzenia

Pole identyfikatora GotKeyboardFocusEvent
Strategia routingu Propagacji
Delegat KeyboardFocusChangedEventHandler

Dotyczy