FocusManager.SetFocusedElement(DependencyObject, IInputElement) Method

Definition

Sets logical focus on the specified element.

public static void SetFocusedElement (System.Windows.DependencyObject element, System.Windows.IInputElement value);
Parameters
element
DependencyObject

The focus scope in which to make the specified element the System.Windows.Input.FocusManager.FocusedElement.

value
IInputElement

The element to give logical focus to.

Examples

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);
' Sets the focused element in focusScope1
' focusScope1 is a StackPanel.
FocusManager.SetFocusedElement(focusScope1, button2)

' Gets the focused element for focusScope 1
Dim focusedElement As IInputElement = FocusManager.GetFocusedElement(focusScope1)

Remarks

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.

Applies to