語言

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

控制項的焦點矩形是一個重要的視覺元件,透過識別當前聚焦元素並指示使用者在應用程式介面分頁序列中的位置,有助於無障礙。 在某些情況下,焦點動作的 FocusState 會影響是否顯示可見的焦點指示器。

欲了解更多關於指法序列與無障礙性的資訊,請參見 鍵盤無障礙

適用於

另請參閱