Keyboard.GotKeyboardFocus Keyboard.GotKeyboardFocus Keyboard.GotKeyboardFocus Attached Event

Definizione

Si verifica quando un elemento riceve lo stato attivo dalla tastiera.Occurs when an element receives keyboard focus.

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

Esempi

Nell'esempio seguente viene creato TextBox un oggetto e vengono allegati i gestori eventi GotKeyboardFocus per l'evento LostKeyboardFocus e l'evento.The following example creates a TextBox and attaches event handlers for the GotKeyboardFocus event and the LostKeyboardFocus event. Quando ottiene lo stato attivo della tastiera, il colore di sfondo viene modificato e il testo TextBox dell'oggetto viene cancellato. TextBoxWhen the TextBox obtains keyboard focus, the background color is changed and the text of the TextBox is cleared. Quando perde TextBlock lo stato attivo della tastiera, il colore di sfondo viene modificato e viene chiamato un metodo che reimposta le variabili utilizzate nell'esempio.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

Commenti

Si tratta di un evento associato.This is an attached event. WPFWPFimplementa eventi associati come eventi indirizzati.implements attached events as routed events. Gli eventi associati sono fondamentalmente un XAMLXAML concetto di linguaggio per fare riferimento a eventi che possono essere gestiti su oggetti che non definiscono l'evento WPFWPF , che si espande in modo da consentire anche all'evento di attraversare una route.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. Gli eventi associati non hanno una sintassi di gestione diretta nel codice; per allineare gestori per un evento indirizzato nel codice, è possibile usare un metodo di gestione Add * designato.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. Per informazioni dettagliate, vedere Cenni preliminari sugli eventi associati.For details, see Attached Events Overview.

Lo stato attivo della tastiera fa riferimento all'oggetto che riceve l'input da tastiera.Keyboard focus refers to the object that is receiving keyboard input. L'elemento con lo stato attivo IsKeyboardFocused della tastiera trueè impostato su.The element with keyboard focus has IsKeyboardFocused set to true. Può essere presente un solo elemento con lo stato attivo della tastiera sull'intero desktop.There can be only one element with keyboard focus on the entire desktop. Lo stato attivo logico fa riferimento all'oggetto all'interno di un ambito di stato attivo con lo stato attivo.Logical focus refers to the object within a focus scope that has focus. Per altre informazioni sullo stato attivo, lo stato attivo della tastiera e lo stato attivo logico, vedere Cenni preliminari sull' input e Panoramica dello stato attivo.For more information on focus, keyboard focus, and logical focus, see Input Overview and Focus Overview.

Se l' PreviewGotKeyboardFocus evento o l' PreviewLostKeyboardFocus evento viene gestito, lo stato attivo della tastiera cambia.If the PreviewGotKeyboardFocus event or the PreviewLostKeyboardFocus event is handled, keyboard focus does change.

Informazioni evento indirizzatoRouted Event Information

Campo identificatoreIdentifier field GotKeyboardFocusEvent
Strategia di routingRouting strategy BubblingBubbling
delegatoDelegate KeyboardFocusChangedEventHandler

Si applica a