Control.FocusDisengaged イベント

定義

コントロール境界からフォーカスが離されたときに発生します (ゲーム パッド/リモート操作の場合)。

// Register
event_token FocusDisengaged(TypedEventHandler<Control, FocusDisengagedEventArgs const&> const& handler) const;

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

// Revoke with event_revoker
Control::FocusDisengaged_revoker FocusDisengaged(auto_revoke_t, TypedEventHandler<Control, FocusDisengagedEventArgs const&> const& handler) const;
public event TypedEventHandler<Control,FocusDisengagedEventArgs> FocusDisengaged;
function onFocusDisengaged(eventArgs) { /* Your code */ }
control.addEventListener("focusdisengaged", onFocusDisengaged);
control.removeEventListener("focusdisengaged", onFocusDisengaged);
- or -
control.onfocusdisengaged = onFocusDisengaged;
Public Custom Event FocusDisengaged As TypedEventHandler(Of Control, FocusDisengagedEventArgs) 
<control FocusDisengaged="eventhandler"/>

イベントの種類

Windows の要件

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

注釈

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

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

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

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

バージョンの互換性

FocusDisengaged イベントは、バージョン 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", "FocusDisengaged"))
    {
        slider1.FocusDisengaged += Slider1_FocusDisengaged;
    }
}

適用対象