跳到主要内容
版本:11.0.0

Focus Manager

FocusManager服务负责管理应用程序的键盘焦点。它会跟踪当前聚焦的元素和当前焦点范围。

通过TopLevelWindow的实例可以访问FocusManager,有关访问TopLevel的更多细节,请访问TopLevel页面:

var focusManager = window.FocusManager;

方法

GetFocusedElement()

返回当前聚焦的元素。

IInputElement? GetFocusedElement()

ClearFocus()

清除当前聚焦的元素。

void ClearFocus()

提示

聚焦控件

通常开发人员不需要使用FocusManager服务来聚焦控件。 可以直接通过调用控件的方法实现:

var hasFocused = button.Focus();

如果控件不可见并且Focusable属性设置为false,Focus方法可能返回false

监听全局焦点变化

虽然FocusManager.GetFocusedElement方法允许获取当前聚焦的控件,但它不适合作为事件使用。 相反,请使用InputElement.GotFocusEvent.Raised.Subscribe(handler)方法。注意,它会在所有顶级窗口中全局监听事件。