Sdílet prostřednictvím


Keyboard.LostKeyboardFocus Přidružená událost

Definice

Nastane, když prvek ztratí fokus klávesnice.

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

Příklady

Následující příklad vytvoří TextBox a připojí obslužné rutiny událostí pro GotKeyboardFocus událost a LostKeyboardFocus událost. Po získání TextBox fokusu klávesnice se barva pozadí změní a text se vymaže TextBox . Když se TextBlock fokus klávesnice ztratí, změní se barva pozadí a zavolá se metoda, která resetuje proměnné použité v ukázce.

<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

Poznámky

Toto je připojená událost. WPF implementuje připojené události jako směrované události. Připojené události jsou v podstatě koncept jazyka XAML pro odkazování na události, které lze zpracovat na objektech, které nedefinují danou událost, což WPF rozšiřuje tím, že také umožňuje události procházet trasu. Připojené události nemají přímou syntaxi zpracování v kódu; pokud chcete připojit obslužné rutiny pro směrovanou událost v kódu, použijete určenou metodu Add*Handler. Podrobnosti najdete v tématu Přehled připojených událostí.

Fokus klávesnice odkazuje na objekt, který přijímá vstup z klávesnice. Prvek s fokusem klávesnice je IsKeyboardFocused nastavený na true. Na celé ploše může být jenom jeden prvek s fokusem klávesnice. Logický fokus odkazuje na objekt v oboru fokusu, který má fokus. Další informace o fokusu, fokusu klávesnice a logickém fokusu najdete v tématu Přehled vstupu a Přehled fokusu.

Pokud je PreviewGotKeyboardFocus událost nebo PreviewLostKeyboardFocus událost zpracována, fokus klávesnice se nezmění.

Informace o směrované události

Pole Identifikátor LostKeyboardFocusEvent
Strategie směrování Bublající
Delegát KeyboardFocusChangedEventHandler

Platí pro