Control.FocusDisengaged イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コントロール境界からフォーカスが離されたときに発生します (ゲーム パッド/リモート操作の場合)。
// 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;
}
}