Keyboard.GotKeyboardFocus Keyboard.GotKeyboardFocus Keyboard.GotKeyboardFocus Attached Event

Определение

Происходит, когда элемент получает фокус клавиатуры.Occurs when an element receives keyboard focus.

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

Примеры

В следующем примере создается TextBox и присоединяет обработчики событий для GotKeyboardFocus событий и LostKeyboardFocus событий.The following example creates a TextBox and attaches event handlers for the GotKeyboardFocus event and the LostKeyboardFocus event. Когда TextBox получает фокус клавиатуры изменяется цвет фона и текста TextBox очищается.When the TextBox obtains keyboard focus, the background color is changed and the text of the TextBox is cleared. Когда TextBlock теряет фокус клавиатуры, фоновый цвет меняется и вызывается метод, который сбрасывает переменные, используемые в образце.When the TextBlock loses keyboard focus, the background color is changed and a method is called which resets variables used in the sample.

<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

Комментарии

Это вложенное событие.This is an attached event. WPFWPF Реализация присоединенных событий как перенаправленные события.implements attached events as routed events. Присоединенные события, по сути XAMLXAML концепции языка для ссылок на события, которые могут быть обработаны на объекты, которые не определяют данного события, который WPFWPF расширяет, также позволяя события проходить по маршруту.Attached events are fundamentally a XAMLXAML language concept for referencing events that can be handled on objects that do not define that event, which WPFWPF expands upon by also enabling the event to traverse a route. Вложенные события не имеют синтаксис прямой обработки в коде; для присоединения обработчиков для перенаправленных событий в коде, используйте указанный добавить * метод обработчика.Attached events do not have a direct handling syntax in code; to attach handlers for a routed event in code, you use a designated Add*Handler method. Дополнительные сведения см. в разделе подключенные Общие сведения о событиях.For details, see Attached Events Overview.

Фокус клавиатуры ссылается на объект, получающий ввод с клавиатуры.Keyboard focus refers to the object that is receiving keyboard input. Элемент с фокусом клавиатуры имеет IsKeyboardFocused присвоено true.The element with keyboard focus has IsKeyboardFocused set to true. Может существовать только один элемент с фокусом клавиатуры на весь рабочий стол.There can be only one element with keyboard focus on the entire desktop. Логический фокус ссылается на объект в области фокуса, имеющий фокус.Logical focus refers to the object within a focus scope that has focus. Дополнительные сведения о фокус, фокус клавиатуры и логический фокус, см. в разделе Общие сведения о входных данных и Общие сведения о фокусе.For more information on focus, keyboard focus, and logical focus, see Input Overview and Focus Overview.

Если PreviewGotKeyboardFocus событий или PreviewLostKeyboardFocus событие обрабатывается, приводит к изменению фокуса клавиатуры.If the PreviewGotKeyboardFocus event or the PreviewLostKeyboardFocus event is handled, keyboard focus does change.

Сведения о маршрутизируемом событииRouted Event Information

Поле идентификатораIdentifier field GotKeyboardFocusEvent
Стратегия маршрутизацииRouting strategy Восходящая маршрутизацияBubbling
делегатDelegate KeyboardFocusChangedEventHandler

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