Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

UIElement.GotKeyboardFocus Event

Occurs when the keyboard is focused on this element.

Namespace: System.Windows
Assembly: PresentationCore (in presentationcore.dll)
XML Namespace:  http://schemas.microsoft.com/winfx/2006/xaml/presentation

public event KeyboardFocusChangedEventHandler GotKeyboardFocus
/** @event */
public final void add_GotKeyboardFocus (KeyboardFocusChangedEventHandler value)

/** @event */
public final void remove_GotKeyboardFocus (KeyboardFocusChangedEventHandler value)

In JScript, you can handle the events defined by a class, but you cannot define your own.
<object GotKeyboardFocus="KeyboardFocusChangedEventHandler" .../>

Identifier field

GotKeyboardFocusEvent

Routing strategy

Bubbling

Delegate

KeyboardFocusChangedEventHandler

IsKeyboardFocusedChanged is a similar event that tracks status changes in a property that maintains the focus state for an element; the GotKeyboardFocus event is raised in many of the same circumstances.

Because this event uses bubbling routing, the element that has focus might be a child element instead of the element where the event handler is actually attached. Check the Source in the event data to determine the actual element that has focus.

This event creates an alias for the Keyboard.GotKeyboardFocus  attached event for this class so that GotKeyboardFocus is part of the class members list when UIElement is inherited as a base element. Event handlers that are attached to the GotKeyboardFocus event are attached to the underlying Keyboard.GotKeyboardFocus attached event and receive the same event data instance.

This example shows how to change the color of an element when it gains and loses focus by using the GotFocus and LostFocus events.

This example consists of a Extensible Application Markup Language (XAML) file and a code-behind file. For the complete samples, see Firing Events when an Element Gains and Loses Focus Sample.

The following XAML creates the user interface, which consists of two Button objects, and attaches event handlers for the GotFocus and LostFocus events to the Button objects.

<StackPanel>
  <StackPanel.Resources>
    <Style TargetType="{x:Type Button}">
      <Setter Property="Height" Value="20"/>
      <Setter Property="Width" Value="250"/>
      <Setter Property="HorizontalAlignment" Value="Left"/>
    </Style>
  </StackPanel.Resources>
  <Button
      GotFocus="OnGotFocusHandler"
      LostFocus="OnLostFocusHandler">Click Or Tab To Give Keyboard Focus</Button>
  <Button
      GotFocus="OnGotFocusHandler"
      LostFocus="OnLostFocusHandler">Click Or Tab To Give Keyborad Focus</Button>
</StackPanel>

The following code behind creates the GotFocus and LostFocus event handlers. When the Button gains keyboard focus, the Background of the Button is changed to red. When the Button loses keyboard focus, the Background of the Button is changed back to white.

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    // Raised when Button gains focus.
    // Changes the color of the Button to Red.
    private void OnGotFocusHandler(object sender, RoutedEventArgs e)
    {
        Button tb = e.Source as Button;
        tb.Background = Brushes.Red;
    }
    // Raised when Button losses focus. 
    // Changes the color of the Button back to white.
    private void OnLostFocusHandler(object sender, RoutedEventArgs e)
    {
        Button tb = e.Source as Button;
        tb.Background = Brushes.White;
    }
}

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft