UIElement.LostFocus 事件

定义

UIElement 失去焦点时发生。 此事件以异步方式引发,因此焦点可以在冒泡完成之前再次移动。

// Register
event_token LostFocus(RoutedEventHandler const& handler) const;

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

// Revoke with event_revoker
UIElement::LostFocus_revoker LostFocus(auto_revoke_t, RoutedEventHandler const& handler) const;
public event RoutedEventHandler LostFocus;
function onLostFocus(eventArgs) { /* Your code */ }
uIElement.addEventListener("lostfocus", onLostFocus);
uIElement.removeEventListener("lostfocus", onLostFocus);
- or -
uIElement.onlostfocus = onLostFocus;
Public Custom Event LostFocus As RoutedEventHandler 
<uiElement LostFocus="eventhandler"/>

事件类型

注解

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

一次只能有一个 UI 元素具有焦点。

当另一个控件获得焦点、应用程序视图更改、用户切换应用程序或用户与系统交互,使应用程序不再处于前台时,控件可能会失去焦点。

LostFocusGotFocus 之前引发。

键盘焦点与键盘事件处理特别相关,因为只有当前以键盘为中心的 UIElement 才能成为 KeyUpKeyDown 键事件的源。 应用程序可能会调用 UIElement.Focus (Microsoft.UI.Xaml.FocusState) 作为初始化操作,以便整个应用中的关键事件可用于检测访问键或快捷键。 有关详细信息,请参阅键盘交互

LostFocus 是路由事件。 有关事件基于类的处理工作原理的详细信息,请参阅 事件和路由事件概述

特定Windows 运行时控件可能对 LostFocus 事件具有基于类的处理。 如果是这样,控件可能具有 OnLostFocus 方法的替代。 通常,事件被标记为由 类处理程序处理,并且 LostFocus 不会引发 事件,以便由该控件上的任何用户代码处理程序进行处理。 控件可能会处理 事件,以便卸载显示焦点矩形以响应 OnGotFocus 的视觉状态。

控件的焦点矩形是一个重要的视觉组件,它通过标识当前聚焦元素并指示用户在应用程序 UI 的选项卡序列中的位置,帮助辅助功能。 在某些情况下,焦点操作的 FocusState 与是否应显示可见的焦点指示器相关。

有关选项卡序列和辅助功能的详细信息,请参阅 键盘辅助功能

适用于

另请参阅