FocusManager.SetFocusedElement(DependencyObject, IInputElement) 方法

定义

对指定元素设置逻辑焦点。

public:
 static void SetFocusedElement(System::Windows::DependencyObject ^ element, System::Windows::IInputElement ^ value);
public static void SetFocusedElement (System.Windows.DependencyObject element, System.Windows.IInputElement value);
static member SetFocusedElement : System.Windows.DependencyObject * System.Windows.IInputElement -> unit
Public Shared Sub SetFocusedElement (element As DependencyObject, value As IInputElement)

参数

element
DependencyObject

焦点范围,将使指定元素成为该范围内的 FocusedElement

value
IInputElement

要获得逻辑焦点的元素。

示例

以下示例使用 SetFocusedElement 设置具有逻辑焦点的 元素,并使用 获取具有逻辑焦点的 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)

注解

FocusedElement是具有特定焦点范围的逻辑焦点的元素。 此对象可能具有键盘焦点,也可能没有键盘焦点。 键盘焦点是指接收键盘输入的元素。 有关焦点、键盘焦点和逻辑焦点的详细信息,请参阅 输入概述

可以指定一个焦点范围,该范围是元素所位于焦点范围的上级。 例如,如果 StackPanel 是焦点范围,并且其父级Window是焦点范围,TextBox则 的子级StackPanel可以在调用 SetFocusedElement时将 指定Window为焦点范围。 TextBox然后FocusedElement,对于Window焦点范围和焦点范围,则为 StackPanel

SetFocusedElement 将为指定焦点范围内的指定元素提供逻辑焦点,并尝试为元素提供键盘焦点。

适用于