Condividi tramite


InputFocusController Classe

Definizione

Rappresenta un oggetto che supporta la gestione e la gestione degli eventi di stato attivo su un 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
Ereditarietà
Object Platform::Object IInspectable InputObject InputFocusController
Attributi

Commenti

ContentIsland ha un HWND sottostante che può interagire con API Win32 e ricevere messaggi Win32, ad esempio vari messaggi di input.

Un ContentIslandha lo stato attivo se hWND sottostante ha stato attivo Win32.

Quando un ContentIsland ha lo stato attivo, riceverà messaggi di input da tastiera dal sistema. Gli eventi di input da tastiera possono essere gestiti da un oggetto InputKeyboardSource, recuperato tramite il metodo InputKeyboardSource.GetForIsland(Microsoft.UI.Content.ContentIsland).

Nota

Per altri dettagli sullo stato attivo e sull'input della tastiera Win32, vedere la sezione stato attivo e attivazione della tastiera della panoramica dell'input da tastiera .

Comportamento quando eliminato

InputFocusController è associato a un ContentIsland specifico. Se InputFocusController viene eliminato, perde l'associazione e tutti i gestori eventi non vengono registrati.

Se il ContentIsland associato viene eliminato, viene eliminato anche l'oggetto InputFocusController associato.

Per altri dettagli, vedere Microsoft.UI.Input.InputObject.

Modello di threading

InputFocusController può essere solo dal thread in cui è stato creato. Qualsiasi chiamata di proprietà o funzione su un thread diverso restituirà RPC_E_WRONG_THREAD (o il tipo di errore proiettato equivalente).

Per altri dettagli, vedere Microsoft.UI.Input.InputObject.

Proprietà

DispatcherQueue

Ottiene il DispatcherQueue per InputObject.

(Ereditato da InputObject)
HasFocus

Ottiene un valore che indica se l' ContentIsland associato ha lo stato attivo.

Metodi

DepartFocus(FocusNavigationRequest)

Genera l'evento InputFocusNavigationHost.DepartFocusRequested per l'host Content.ContentIsland .

Ad esempio, l'utente ha eseguito il tabulazione di tutti gli elementi tabulabili all'interno di ContentIsland e ora lo stato attivo dovrebbe allontanarsi dall'isola a qualcos'altro nell'applicazione host.

GetForIsland(ContentIsland)

Recupera un oggetto InputFocusController per l'oggetto ContentIsland specificato.

TrySetFocus()

Tenta di impostare lo stato attivo sul ContentIsland associato a InputFocusController.

Eventi

GotFocus

Si verifica quando l' ContentIsland associato riceve lo stato attivo.

LostFocus

Si verifica quando lo stato attivo viene spostato dall'ContentIsland associato.

NavigateFocusRequested

Si verifica quando l'host Content.ContentIsland vuole che ContentIsland prenda lo stato attivo.

Ad esempio, l'utente ha a schede gli elementi dell'host e ora deve eseguire la tabulazioni in ContentIsland. L'applicazione host chiama InputFocusNavigationHost.NavigateFocus(Microsoft.UI.Input.FocusNavigationRequest) nel InputFocusNavigationHost associato all'SiteBridge . Il InputFocusController per ContentIsland riceve quindi questo evento NavigateFocusRequested e può decidere se richiederà lo stato attivo.

Si applica a

Vedi anche