UIElement.GotFocus イベント

定義

UIElement がフォーカスを受け取ったときに発生します。 このイベントは非同期的に発生するため、バブルが完了する前にフォーカスを再び移動できます。

// 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"/>

イベントの種類

注釈

可能な限り、FocusManager イベントではなく UIElement フォーカス ルーティング イベントを使用することをお勧めします。

一度に 1 つの UI 要素にのみフォーカスを設定できます。

コントロールは、別のコントロールがフォーカスを失ったり、アプリケーション ビューが変更されたり、ユーザーがアプリケーションを切り替えたり、ユーザーがシステムと対話してアプリケーションがフォアグラウンドでなくなったりしたときにフォーカスを取得できます。

LostFocus は の前に GotFocus発生します。

PanelGridView などのコンテナーでコントロール合成または UI 合成と処理GotFocusを使用している場合は、イベント データで OriginalSource を確認して、コンポジション内のどの要素がフォーカスを受け取ったかを判断します。

イベントにはGotFocus特殊なイベント データがないため、UIElement.FocusState プロパティをチェックして、要素がフォーカスを取得する原因となったユーザー コードかアプリ コードかを判断できます。

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

キーボード フォーカスはキーボード イベント処理に特に関連します。KeyUp および KeyDown キー イベントのソースにできるのは、現在キーボードに焦点を当てた UIElement だけなのでです。 アプリケーションは UIElement.Focus(Microsoft.UI.Xaml.FocusState) を初期化アクションとして呼び出し、アプリ全体のキー イベントを使用してアクセスキーまたはアクセラレータ キーを検出できます。 詳しくは、「キーボード操作」をご覧ください。

GotFocus はルーティング イベントです。 ルーティング イベントの概念の詳細については、「 イベントとルーティング イベントの概要」を参照してください。

特定のWindows ランタイム コントロールには、イベントのクラスベースの処理がGotFocus含まれる場合があります。 その場合、コントロールには OnGotFocus メソッドのオーバーライドが含まれている可能性があります。 通常、イベントはクラス ハンドラーによって処理済みとしてマークされ、GotFocus イベントは、そのコントロールのユーザー コード ハンドラーによって処理するために発生しません。 コントロールは、フォーカスの四角形を表示するビジュアル状態プロパティを読み込むためにイベントを処理する場合があります。

コントロールのフォーカス四角形は、現在フォーカスされている要素を識別し、ユーザーがアプリケーション UI のタブ シーケンス内のどこにいるかを示すことによって、アクセシビリティを支援する重要なビジュアル コンポーネントです。 場合によっては、フォーカス アクションの FocusState が、表示されているフォーカス インジケーターを表示するかどうかに関連します。

イベントのクラスベースの処理のしくみの詳細については、「 イベントとルーティング イベントの概要」を参照してください。 タブ シーケンスとアクセシビリティの詳細については、「 キーボード アクセシビリティ」を参照してください。

適用対象

こちらもご覧ください