Keyboard.LostKeyboardFocus Zdarzenie dołączone

Definicja

Występuje, gdy element traci fokus klawiatury.

see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler
see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler
see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler

Przykłady

Poniższy przykład tworzy TextBox programy obsługi zdarzeń i dołącza je dla GotKeyboardFocus zdarzenia i LostKeyboardFocus zdarzenia. TextBox Po uzyskaniu fokusu klawiatury kolor tła jest zmieniany i tekst TextBox jest czyszczone. 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, umożliwiając również przechodzenie przez trasę zdarzenia. Dołączone zdarzenia nie mają składni bezpośredniej obsługi 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 znajdować się 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 fokusu.

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

Informacje o zdarzeniach kierowanych

Produkt Wartość
Pole identyfikatora LostKeyboardFocusEvent
Strategia routingu Propagacji
Deleguj KeyboardFocusChangedEventHandler

Dotyczy