This documentation is archived and is not being maintained.

FocusManager.SetFocusedElement Method

Sets logical focus on the specified element.

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

public static void SetFocusedElement(
	DependencyObject element,
	IInputElement value
You cannot use methods in XAML.


Type: System.Windows.DependencyObject

The focus scope in which to make the specified element the FocusedElement.

Type: System.Windows.IInputElement

The element to give logical focus to.

The FocusedElement is the element which has logical focus for the specific focus scope. This object may or may not have keyboard focus. Keyboard focus refers to the element that receives keyboard input. For more information on focus, keyboard focus, and logical focus, see the Input Overview.

It is possible to specify a focus scope that is an ancestor of the focus scope the element is in. For example, if a StackPanel is a focus scope and its parent Window is a focus scope, a TextBox child of the StackPanel could specify the Window as the focus scope when calling SetFocusedElement. The TextBox is then FocusedElement for both the Window focus scope and the StackPanel focus scope.

SetFocusedElement will give the specified element logical focus in the specified focus scope and will attempt to give the element keyboard focus.

The following example sets the element with logical focus by using the SetFocusedElement and it gets the element with logical focus by using the GetFocusedElement.

// Sets the focused element in focusScope1 
// focusScope1 is a StackPanel.
FocusManager.SetFocusedElement(focusScope1, button2);

// Gets the focused element for focusScope 1
IInputElement focusedElement = FocusManager.GetFocusedElement(focusScope1);

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

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

.NET Framework

Supported in: 3.5, 3.0