FocusManager.GotFocus 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当容器元素中的元素 (焦点范围) 接收焦点时发生。 此事件以异步方式引发,因此焦点可能会在冒泡完成之前移动。
// Register
static event_token GotFocus(EventHandler<FocusManagerGotFocusEventArgs> const& handler) const;
// Revoke with event_token
static void GotFocus(event_token const* cookie) const;
// Revoke with event_revoker
static FocusManager::GotFocus_revoker GotFocus(auto_revoke_t, EventHandler<FocusManagerGotFocusEventArgs> const& handler) const;
public static event System.EventHandler<FocusManagerGotFocusEventArgs> GotFocus;
function onGotFocus(eventArgs) { /* Your code */ }
Microsoft.UI.Xaml.Input.FocusManager.addEventListener("gotfocus", onGotFocus);
Microsoft.UI.Xaml.Input.FocusManager.removeEventListener("gotfocus", onGotFocus);
- or -
Microsoft.UI.Xaml.Input.FocusManager.ongotfocus = onGotFocus;
Public Shared Custom Event GotFocus As EventHandler(Of FocusManagerGotFocusEventArgs)
事件类型
注解
建议尽可能使用 UIElement 焦点路由事件而不是 FocusManager 事件。
UIElement 焦点事件按以下顺序浮升到 FocusManager:
- UIElement.LosingFocus/FocusManager.LosingFocus
- UIElement.GettingFocus/FocusManager.GettingFocus
- UIElement.LostFocus 路由事件由失去焦点的元素引发,并且事件浮升
- 即使路由事件标记为已处理) ,focusManager.LostFocus 也会引发 (
- UIElement.GotFocus 路由事件由接收焦点的元素引发,事件浮升
- 即使路由事件标记为已处理) ,focusManager.GotFocus 也会 (引发