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

Definice

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

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

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. TextBox Když získá fokus klávesnice, změní se barva pozadí a text TextBox textu se vymaže. TextBlock Když ztratí fokus klávesnice, změní se barva pozadí a volá 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

Jedná se o připojenou událost. WPF implementuje připojené události jako směrované události. Připojené události jsou základním konceptem jazyka XAML pro odkazování na události, které lze zpracovat u objektů, které tuto událost nedefinují, což WPF rozšiřuje také tím, že událost umožňuje procházet trasu. Připojené události nemají v kódu přímou syntaxi zpracování; chcete-li připojit obslužné rutiny pro směrovanou událost v kódu, použijte 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 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 změní.

Informace o směrované události

Položka Value
Pole Identifikátor GotKeyboardFocusEvent
Strategie směrování Bublající
Delegát KeyboardFocusChangedEventHandler

Platí pro