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.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft