Keyboard.Focus(IInputElement) Method

Definition

Sets keyboard focus on the specified element.

C#
public static System.Windows.IInputElement Focus(System.Windows.IInputElement element);

Parameters

element
IInputElement

The element on which to set keyboard focus.

Returns

The element with keyboard focus.

Examples

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

C#
private void OnLoaded(object sender, RoutedEventArgs e)
{
    // Sets keyboard focus on the first Button in the sample.
    Keyboard.Focus(firstButton);
}

Remarks

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

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10