FocusManager.LostFocus 事件

定义

当容器元素中的元素 (焦点范围) 失去焦点时发生。 此事件以异步方式引发,因此焦点可能会在冒泡完成之前再次移动。

// Register
static event_token LostFocus(EventHandler<FocusManagerLostFocusEventArgs> const& handler) const;

// Revoke with event_token
static void LostFocus(event_token const* cookie) const;

// Revoke with event_revoker
static FocusManager::LostFocus_revoker LostFocus(auto_revoke_t, EventHandler<FocusManagerLostFocusEventArgs> const& handler) const;
public static event System.EventHandler<FocusManagerLostFocusEventArgs> LostFocus;
function onLostFocus(eventArgs) { /* Your code */ }
Microsoft.UI.Xaml.Input.FocusManager.addEventListener("lostfocus", onLostFocus);
Microsoft.UI.Xaml.Input.FocusManager.removeEventListener("lostfocus", onLostFocus);
- or -
Microsoft.UI.Xaml.Input.FocusManager.onlostfocus = onLostFocus;
Public Shared Custom Event LostFocus As EventHandler(Of FocusManagerLostFocusEventArgs) 

事件类型

注解

建议尽可能使用 UIElement 焦点路由事件而不是 FocusManager 事件。

UIElement 焦点事件按以下顺序浮升到 FocusManager:

  1. UIElement.LosingFocus/FocusManager.LosingFocus
  2. UIElement.GettingFocus/FocusManager.GettingFocus
  3. UIElement.LostFocus 路由事件由失去焦点的元素引发,并且事件浮升
  4. 即使路由事件标记为已处理) ,focusManager.LostFocus 也会 (引发
  5. UIElement.GotFocus 路由事件由接收焦点的元素引发,事件浮升
  6. 即使将路由事件标记为已处理) ,focusManager.GotFocus 也会 (引发

适用于

另请参阅