Keyboard.LostKeyboardFocus Hozzácsatolt esemény

Definíció

Akkor fordul elő, ha egy elem elveszíti a billentyűzetfókuszt.

see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler
see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler
see AddLostKeyboardFocusHandler, and RemoveLostKeyboardFocusHandler

Példák

Az alábbi példa létrehoz és csatol egy TextBox eseménykezelőt az GotKeyboardFocus eseményhez és az LostKeyboardFocus eseményhez. TextBox A billentyűzetfókusz beszerzésekor a háttérszín megváltozik, és a szöveg TextBox törlődik. Ha elveszíti a TextBlock billentyűzet fókuszát, a háttérszín megváltozik, és egy metódust nevezünk, amely alaphelyzetbe állítja a mintában használt változókat.

<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

Megjegyzések

Ez egy csatolt esemény. WPF csatolt eseményeket implementál irányított eseményként. A csatolt események alapvetően egy XAML nyelvi fogalom, amely olyan eseményekre hivatkozik, amelyek olyan objektumokon kezelhetők, amelyek nem határozzák meg ezt az eseményt, és amelyek WPF bővülnek azáltal, hogy lehetővé teszik az esemény számára az útvonalon való áthaladást. A csatolt események nem rendelkeznek közvetlen kezelési szintaxissal a kódban; A kódban egy irányított esemény kezelőinek csatolásához egy kijelölt Add*Handler metódust kell használnia. További részletekért lásd: Csatolt események áttekintése.

A billentyűzetfókusz a billentyűzetbemenetet fogadó objektumra vonatkozik. A billentyűzetfókuszú elem a következőre IsKeyboardFocusedvan true állítva: . Csak egy elem lehet, amelynek billentyűzetfókusza a teljes asztalon van. A logikai fókusz a fókuszt tartalmazó hatókörben lévő objektumra vonatkozik. A fókuszról, a billentyűzetfókuszról és a logikai fókuszról további információt a Bemenet áttekintése és a Fókusz áttekintése című témakörben talál.

Ha az PreviewGotKeyboardFocus eseményt vagy az PreviewLostKeyboardFocus eseményt kezelik, a billentyűzet fókusza nem változik.

Irányított eseményinformációk

Termék Érték
Azonosító mező LostKeyboardFocusEvent
Útválasztási stratégia Fortyogó
Képviselő KeyboardFocusChangedEventHandler

A következőre érvényes: