UIElement.GotFocus 事件

定義

發生于 UIElement 收到焦點時。 這個事件會以非同步方式引發,因此焦點可以在反升完成之前再次移動。

C#
public event RoutedEventHandler GotFocus;
XAML
<uiElement GotFocus="eventhandler"/>

事件類型

備註

建議您盡可能使用 UIElement 焦點路由事件,而不是 FocusManager 事件。

一次只能有單一 UI 元素的焦點。

當另一個控制項失去焦點、應用程式檢視變更、使用者切換應用程式或使用者與系統互動時,控制項可以取得焦點,讓應用程式不再位於前景。

LostFocus 會在 之前 GotFocus 引發。

如果您要在PanelGridView之類的容器上使用控制群組合或 UI 撰寫和處理 GotFocus ,請檢查事件資料上的OriginalSource,以判斷組合中的哪個元素收到焦點。

GotFocus由於事件沒有任何特製化事件資料,因此您可以檢查UIElement.FocusState屬性,以判斷它是否為造成元素取得焦點的使用者或應用程式程式碼。

C#
private void panel_GotFocus(object sender, RoutedEventArgs e)
{
    UIElement uie = e.OriginalSource as UIElement;
    FocusState fc = uie.FocusState;
}

鍵盤焦點與鍵盤事件處理特別相關,因為只有目前以鍵盤為主的 UIElement 可以是 KeyUpKeyDown 按鍵事件的來源。 應用程式可能會 呼叫 UIElement.Focus (Microsoft.UI.Xaml.FocusState) 做為初始化動作,以便整個應用程式中的索引鍵事件可用來偵測存取或快速鍵。 如需詳細資訊,請參閱鍵盤互動

GotFocus 是路由事件。 如需路由事件概念的詳細資訊,請參閱 事件和路由事件概觀

特定Windows 執行階段控制項可能有事件的類別型處理 GotFocus 。 如果是,控制項可能具有 OnGotFocus方法的覆寫。 一般而言,事件會標示為由類別處理常式處理,而且不會引發 GotFocus 事件,以供該控制項上的任何使用者程式碼處理常式處理。 控制項可能會處理 事件,以載入顯示焦點矩形的視覺狀態屬性。

控制項的焦點矩形是一個重要視覺元件,可藉由識別目前的焦點元素,並指出使用者位於應用程式 UI 的索引標籤序列中的位置,來輔助輔助協助工具。 在某些情況下,焦點動作的 FocusState 是否應該顯示可見焦點指標。

如需事件類別型處理運作方式的詳細資訊,請參閱 事件和路由事件概觀。 如需索引標籤序列和協助工具的詳細資訊,請參閱 鍵盤協助工具

適用於

產品 版本
Windows App SDK 0.8, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6

另請參閱