Compartir a través de


InputFocusController Clase

Definición

Representa un objeto que admite el control y la administración de eventos de foco en 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
Herencia
Object Platform::Object IInspectable InputObject InputFocusController
Atributos

Comentarios

Un ContentIsland tiene un HWND subyacente que puede interactuar con las API de Win32 y recibir mensajes win32 (como varios mensajes de entrada).

Un ContentIslandtiene el foco si su HWND subyacente tiene el foco Win32 .

Cuando A ContentIsland tiene el foco, recibirá mensajes de entrada de teclado del sistema. Los eventos de entrada de teclado se pueden controlar mediante un objeto InputKeyboardSource, que se recupera a través del método InputKeyboardSource.GetForIsland(Microsoft.UI.Content.ContentIsland).

Nota

Para obtener más información sobre el foco win32 y la entrada del teclado, consulta la sección Foco del teclado y activación de la introducción a la entrada del teclado.

Comportamiento cuando se elimina

InputFocusController está asociado a un ContentIsland específico. Si inputFocusController se elimina, pierde esa asociación y todos los controladores de eventos no se registran.

Si se elimina contentIsland asociado, también se elimina el inputFocusController asociado.

Para obtener más información, consulte Microsoft.UI.Input.InputObject.

Modelo de subprocesos

InputFocusController solo puede ser del subproceso donde se creó. Cualquier llamada de función o acceso de propiedad en un subproceso diferente devolverá RPC_E_WRONG_THREAD (o el tipo de error proyectado equivalente).

Para obtener más información, consulte Microsoft.UI.Input.InputObject.

Propiedades

DispatcherQueue

Obtiene dispatcherQueue para InputObject.

(Heredado de InputObject)
HasFocus

Obtiene si el ContentIsland asociado tiene el foco.

Métodos

DepartFocus(FocusNavigationRequest)

Genera el evento InputFocusNavigationHost.DepartFocusRequested para el host Content.ContentIsland .

Por ejemplo, el usuario ha tabulado todos los elementos tabulables dentro de ContentIsland y ahora el foco debe alejarse de la isla a otra cosa en la aplicación de hospedaje.

GetForIsland(ContentIsland)

Recupera un InputFocusController objeto para el ContentIsland especificado.

TrySetFocus()

Intenta establecer el foco en contentIsland asociado con InputFocusController.

Eventos

GotFocus

Se produce cuando contentIsland asociado recibe el foco.

LostFocus

Se produce cuando el foco se mueve del ContentIsland asociado.

NavigateFocusRequested

Se produce cuando el host Content.ContentIsland quiere que ContentIsland tenga el foco.

Por ejemplo, el usuario ha tabulado los elementos del host y ahora necesita tabular en ContentIsland. La aplicación de hospedaje llama a InputFocusNavigationHost.NavigateFocus(Microsoft.UI.Input.FocusNavigationRequest) en inputFocusNavigationHost asociado a SiteBridge. InputFocusController para ContentIsland recibe este evento NavigateFocusRequested y puede decidir si tomará el foco.

Se aplica a

Consulte también