Keyboard.GotKeyboardFocus Присоединенное событие

Определение

Происходит, когда элемент получает фокус клавиатуры.

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

Примеры

В следующем примере создаются TextBox обработчики событий и присоединение LostKeyboardFocus обработчиков событий для GotKeyboardFocus события и события. TextBox При получении фокуса клавиатуры цвет фона изменяется и текст TextBox очищается. TextBlock При потере фокуса клавиатуры цвет фона изменяется и вызывается метод, который сбрасывает переменные, используемые в примере.

<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

Комментарии

Это присоединенное событие. WPF реализует присоединенные события в виде перенаправленных событий. Присоединенные события являются основным понятием языка XAML для ссылки на события, которые могут обрабатываться на объектах, которые не определяют это событие, которое WPF расширяется путем включения события для обхода маршрута. Вложенные события не имеют синтаксиса прямой обработки в коде; для подключения обработчиков для перенаправленного события в коде используется назначенный метод Add*Handler. Дополнительные сведения см. в разделе "Общие сведения о присоединенных событиях".

Фокус клавиатуры ссылается на объект, получающий ввод клавиатуры. Элемент с фокусом клавиатуры имеет IsKeyboardFocused значение true. На рабочем столе может быть только один элемент с фокусом клавиатуры. Логический фокус относится к объекту в области фокуса с фокусом. Дополнительные сведения о фокусе, фокусе клавиатуры и логическом фокусе см. в разделе "Обзор ввода " и "Обзор фокуса".

PreviewGotKeyboardFocus Если событие или PreviewLostKeyboardFocus событие обрабатывается, фокус клавиатуры изменяется.

Сведения о перенаправленных событиях

Item Ценность
Поле идентификатора GotKeyboardFocusEvent
Стратегия маршрутизации Восходящей
Делегат KeyboardFocusChangedEventHandler

Применяется к