次の方法で共有


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 オブジェクトによって処理できます。このオブジェクトは、InputKeyboardSource.GetForIsland(Microsoft.UI.Content.ContentIsland) メソッドを使用して取得されます。

手記

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)

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

TrySetFocus()

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

イベント

GotFocus

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

LostFocus

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

NavigateFocusRequested

Content.ContentIsland ホストが ContentIsland にフォーカスを置く必要があるときに発生します。

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

適用対象

こちらもご覧ください