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 удаляется. TextBoxWhen 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. Вложенные события не имеют синтаксиса прямой обработки в коде; чтобы присоединить обработчики для перенаправленного события в коде, используйте назначенный метод обработчика Add *.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

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