Control.FocusEngaged イベント

定義

コントロールの境界内でフォーカスが制限されている場合に発生します (ゲーム パッド/リモート操作の場合)。

// Register
event_token FocusEngaged(TypedEventHandler<Control, FocusEngagedEventArgs const&> const& handler) const;

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

// Revoke with event_revoker
Control::FocusEngaged_revoker FocusEngaged(auto_revoke_t, TypedEventHandler<Control, FocusEngagedEventArgs const&> const& handler) const;
public event TypedEventHandler<Control,FocusEngagedEventArgs> FocusEngaged;
function onFocusEngaged(eventArgs) { /* Your code */ }
control.addEventListener("focusengaged", onFocusEngaged);
control.removeEventListener("focusengaged", onFocusEngaged);
- or -
control.onfocusengaged = onFocusEngaged;
Public Custom Event FocusEngaged As TypedEventHandler(Of Control, FocusEngagedEventArgs) 
<control FocusEngaged="eventhandler"/>

イベントの種類

Windows の要件

デバイス ファミリ
Windows 10 Anniversary Edition (10.0.14393.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v3.0 で導入)

注釈

イベント データについては、「 FocusEngagedEventArgs」を参照してください。

フォーカス エンゲージメントを使用すると、ゲーム パッドやリモート コントロールを使用してアプリを操作しやすくなります。 フォーカスエンゲージメントを設定しても、キーボードやその他の入力デバイスには影響しません。

IsFocusEngagementEnabled プロパティが true に設定されている場合、コントロールはフォーカスエンゲージメントを必要とするとマークされます。 この場合、コントロールを "獲得" して操作するには、ユーザーが A/[選択] ボタンをクリックする必要があります。 完了したら、B/Back ボタンを押してコントロールを外し、そこから移動できます。

このプロパティの詳細については、Xbox とテレビの設計に関する記事の「フォーカスエンゲージメント」セクションを参照してください。

バージョンの互換性

FocusEngaged イベントは、バージョン 1607 Windows 10より前は使用できません。 Microsoft Visual Studio のアプリの "最小プラットフォーム バージョン" 設定が、このページの後半の 「要件」 ブロックに示されている "導入されたバージョン" より小さい場合は、これを考慮してアプリを設計してテストする必要があります。 詳細については、「 バージョン アダプティブ コード」を参照してください。

以前のバージョンのWindows 10でアプリを実行するときに例外を回避するには、最初にランタイム チェックを実行せずにこのイベントを接続しないでください。 この例では、ApiInformation クラスを使用して、このイベントを使用する前にこのイベントの存在をチェックする方法を示します。

<Slider x:Name="slider1" Loaded="Slider_Loaded"/>
private void Slider_Loaded(object sender, RoutedEventArgs e)
{
    if (ApiInformation.IsEventPresent("Windows.UI.Xaml.Controls.Control", "FocusEngaged"))
    {
        slider1.FocusEngaged += Slider1_FocusEngaged;
    }
}

適用対象