Keyboard.LostKeyboardFocus Zdarzenie dołączone
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Występuje, gdy element traci fokus klawiatury.
see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler
see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler
see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler
Przykłady
Poniższy przykład tworzy TextBox i dołącza programy obsługi zdarzeń GotKeyboardFocus dla zdarzenia i LostKeyboardFocus zdarzenia. TextBox Po uzyskaniu fokusu klawiatury kolor tła zostanie zmieniony, a tekst TextBox zostanie wyczyszczone. TextBlock Po utracie fokusu klawiatury kolor tła jest zmieniany, a metoda jest wywoływana, która resetuje zmienne używane w przykładzie.
<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
Uwagi
Jest to dołączone zdarzenie. WPF implementuje dołączone zdarzenia jako zdarzenia kierowane. Dołączone zdarzenia są zasadniczo koncepcją języka XAML służącą do odwoływania się do zdarzeń, które mogą być obsługiwane w obiektach, które nie definiują tego zdarzenia, co rozszerza WPF, włączając również zdarzenie do przechodzenia przez trasę. Dołączone zdarzenia nie mają składni obsługi bezpośredniej w kodzie; aby dołączyć programy obsługi dla zdarzenia kierowanego w kodzie, należy użyć wyznaczonej metody Add*Handler. Aby uzyskać szczegółowe informacje, zobacz Omówienie dołączonych zdarzeń.
Fokus klawiatury odnosi się do obiektu odbierającego dane wejściowe klawiatury. Element z fokusem klawiatury ma IsKeyboardFocused ustawioną wartość true
. Na całym pulpicie może być tylko jeden element z fokusem klawiatury. Fokus logiczny odnosi się do obiektu w zakresie fokusu, który ma fokus. Aby uzyskać więcej informacji na temat fokusu, fokusu klawiatury i fokusu logicznego, zobacz Omówienie danych wejściowych i Omówienie koncentracji uwagi.
PreviewGotKeyboardFocus Jeśli zdarzenie lub PreviewLostKeyboardFocus zdarzenie jest obsługiwane, fokus klawiatury nie zmienia się.
Informacje dotyczące kierowanego zdarzenia
Pole identyfikatora | LostKeyboardFocusEvent |
Strategia routingu | Propagacji |
Delegat | KeyboardFocusChangedEventHandler |
- Odpowiednie zdarzenie tunelowania to PreviewLostKeyboardFocus.