UIElement.GotFocus 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
// Register
event_token GotFocus(RoutedEventHandler const& handler) const;
// Revoke with event_token
void GotFocus(event_token const* cookie) const;
// Revoke with event_revoker
UIElement::GotFocus_revoker GotFocus(auto_revoke_t, RoutedEventHandler const& handler) const;
public event RoutedEventHandler GotFocus;
function onGotFocus(eventArgs) { /* Your code */ }
uIElement.addEventListener("gotfocus", onGotFocus);
uIElement.removeEventListener("gotfocus", onGotFocus);
- or -
uIElement.ongotfocus = onGotFocus;
Public Custom Event GotFocus As RoutedEventHandler
<uiElement GotFocus="eventhandler"/>
事件類型
備註
建議您盡可能使用 UIElement 焦點路由事件,而不是 FocusManager 事件。
一次只能有單一 UI 元素的焦點。
當另一個控制項失去焦點、應用程式檢視變更、使用者切換應用程式或使用者與系統互動時,控制項可以取得焦點,讓應用程式不再位於前景。
LostFocus 會在 之前 GotFocus
引發。
如果您要在Panel或GridView之類的容器上使用控制群組合或 UI 撰寫和處理 GotFocus
,請檢查事件資料上的OriginalSource,以判斷組合中的哪個元素收到焦點。
GotFocus
由於事件沒有任何特製化事件資料,因此您可以檢查UIElement.FocusState屬性,以判斷它是否為造成元素取得焦點的使用者或應用程式程式碼。
private void panel_GotFocus(object sender, RoutedEventArgs e)
{
UIElement uie = e.OriginalSource as UIElement;
FocusState fc = uie.FocusState;
}
鍵盤焦點與鍵盤事件處理特別相關,因為只有目前以鍵盤為主的 UIElement 可以是 KeyUp 和 KeyDown 按鍵事件的來源。 應用程式可能會 呼叫 UIElement.Focus (Microsoft.UI.Xaml.FocusState) 做為初始化動作,以便整個應用程式中的索引鍵事件可用來偵測存取或快速鍵。 如需詳細資訊,請參閱鍵盤互動。
GotFocus
是路由事件。 如需路由事件概念的詳細資訊,請參閱 事件和路由事件概觀。
特定Windows 執行階段控制項可能有事件的類別型處理 GotFocus
。 如果是,控制項可能具有 OnGotFocus方法的覆寫。 一般而言,事件會標示為由類別處理常式處理,而且不會引發 GotFocus 事件,以供該控制項上的任何使用者程式碼處理常式處理。 控制項可能會處理 事件,以載入顯示焦點矩形的視覺狀態屬性。
控制項的焦點矩形是一個重要視覺元件,可藉由識別目前的焦點元素,並指出使用者位於應用程式 UI 的索引標籤序列中的位置,來輔助輔助協助工具。 在某些情況下,焦點動作的 FocusState 是否應該顯示可見焦點指標。
如需事件類別型處理運作方式的詳細資訊,請參閱 事件和路由事件概觀。 如需索引標籤序列和協助工具的詳細資訊,請參閱 鍵盤協助工具。