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


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);

.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.