This documentation is archived and is not being maintained.

Keyboard.LostKeyboardFocus Attached Event

Occurs when an element loses keyboard focus.

Namespace:  System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)

See AddLostKeyboardFocusHandler, RemoveLostKeyboardFocusHandler
<object Keyboard.LostKeyboardFocus="KeyboardFocusChangedEventHandler" .../>

Identifier field


Routing strategy




This is an attached event. WPF implements attached events as routed events. Attached events are fundamentally a XAML language concept for referencing events that can be handled on objects that do not define that event, which WPF 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. 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.

If the PreviewGotKeyboardFocus event or the PreviewLostKeyboardFocus event is handled, keyboard focus does not change.

The following example creates a TextBox and attaches event handlers for the GotKeyboardFocus event and the LostKeyboardFocus event. When the TextBox obtains keyboard focus, the background color is changed and the text of the TextBox is cleared. When the TextBlock loses keyboard focus, the background color is changed and a method is called that resets variables used in the sample.

<Border BorderBrush="Black" BorderThickness="1"
        Width="200" Height="100" Margin="5">
    <Label HorizontalAlignment="Center" Content="Type Text In This TextBox" />
    <TextBox Width="175"

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.

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.

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.