次の方法で共有


InputFocusController クラス

定義

ContentIsland でのフォーカス イベントの処理と管理をサポートするオブジェクトを表します。

public ref class InputFocusController sealed : InputObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65540)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InputFocusController final : InputObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65540)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InputFocusController : InputObject
Public NotInheritable Class InputFocusController
Inherits InputObject
継承
Object Platform::Object IInspectable InputObject InputFocusController
属性

注釈

ContentIsland には、Win32 API と対話し、Win32 メッセージ (さまざまな入力メッセージなど) を受信できる基になる HWND があります。

基になる HWND に Win32フォーカスがある場合、ContentIsland にはフォーカスがあります。

ContentIsland にフォーカスがある場合は、システムからキーボード入力メッセージを受信します。 キーボード入力イベントは、InputKeyboardSource.GetForIsland(Microsoft.UI.Content.ContentIsland) メソッドを使用して取得される InputKeyboardSource オブジェクトによって処理できます。

注意

Win32 フォーカスとキーボード入力の詳細については、「キーボード入力の概要」の「キーボードフォーカスとアクティブ化」セクションを参照してください。

破棄された場合の動作

InputFocusController は、特定の ContentIsland に関連付けられます。 InputFocusController が破棄されると、その関連付けが失われ、すべてのイベント ハンドラーが登録解除されます。

関連付けられた ContentIsland が破棄された場合は、関連付けられた InputFocusController も破棄されます。

詳細については、「 Microsoft.UI.Input.InputObject」を参照してください。

スレッド モデル

InputFocusController は、作成されたスレッドからのみ使用できます。 別のスレッドでのプロパティ アクセスまたは関数呼び出しは、RPC_E_WRONG_THREAD (または同等の予測エラーの種類) を返します。

詳細については、「 Microsoft.UI.Input.InputObject」を参照してください。

プロパティ

DispatcherQueue

InputObject の DispatcherQueue を取得します。

(継承元 InputObject)
HasFocus

関連付けられている ContentIsland にフォーカスがあるかどうかを取得します。

メソッド

DepartFocus(FocusNavigationRequest)

Content.ContentIsland ホストの InputFocusNavigationHost.DepartFocusRequested イベントを発生させます。

たとえば、ユーザーは ContentIsland 内のすべてのタブ可能な要素をタブ処理し、フォーカスをアイランドからホスティング アプリケーション内の別のものに移動する必要があります。

GetForIsland(ContentIsland)

指定した InputFocusControllerContentIsland のオブジェクトを取得します。

TrySetFocus()

InputFocusController に関連付けられている ContentIsland にフォーカスを設定しようとします。

イベント

GotFocus

関連付けられた ContentIsland が フォーカスを受け取ったときに発生します。

LostFocus

関連付けられた ContentIsland からフォーカスが移動されたときに発生します。

NavigateFocusRequested

Content.ContentIsland ホストが ContentIsland に焦点を当てる必要があるときに発生します。

たとえば、ユーザーはホストの要素をタブ表示し、ContentIsland にタブ移動する必要があります。 ホスティング アプリケーションは、SiteBridge に関連付けられている InputFocusNavigationHost で InputFocusNavigationHost.NavigateFocus(Microsoft.UI.Input.FocusNavigationRequest) を呼び出します。 ContentIsland の InputFocusController は、この NavigateFocusRequested イベントを受け取り、フォーカスを取るかどうかを決定できます。

適用対象

こちらもご覧ください