Keyboard.Focus(IInputElement) Method


Sets keyboard focus on the specified element.

 static System::Windows::IInputElement ^ Focus(System::Windows::IInputElement ^ element);
public static System.Windows.IInputElement Focus (System.Windows.IInputElement element);
static member Focus : System.Windows.IInputElement -> System.Windows.IInputElement
Public Shared Function Focus (element As IInputElement) As IInputElement



The element on which to set keyboard focus.



The element with keyboard focus.


The following example shows a Loaded event handler that sets keyboard focus on a Button.

private void OnLoaded(object sender, RoutedEventArgs e)
    // Sets keyboard focus on the first Button in the sample.
Private Sub OnLoaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
    ' Sets keyboard focus on the first Button in the sample.
End Sub


For an element to receive keyboard input, the element must be focusable. To make an element focusable, set the Focusable property on the base element to true. For more information on the base elements, see Base Elements Overview. Panel classes, such as StackPanel and Canvas, set the default value of Focusable to false; therefore, for these objects to obtain keyboard focus, Focusable must be set to true.

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.

An element with keyboard focus also has logical focus for the focus scope the element belongs to. An element with logical focus may or may not have keyboard focus.

Applies to