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

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 enfoque Win32.

Cuando un 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 de teclado y activación de de la información general de entrada del teclado de .

Comportamiento cuando se elimina

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

Si se elimina el de ContentIsland asociado , también se elimina el elemento 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 a propiedades 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 el DispatcherQueue para InputObject.

(Heredado de InputObject)
HasFocus

Obtiene si el de ContentIsland asociado tiene el foco.

Métodos

DepartFocus(FocusNavigationRequest)

Genera el evento InputFocusNavigationHost.DepartFocusRequested para el host de 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 objeto InputFocusController para el ContentIsland especificado.

TrySetFocus()

Intenta establecer el foco en el ContentIsland asociado a InputFocusController.

Eventos

GotFocus

Se produce cuando el de ContentIsland asociado recibe el foco.

LostFocus

Se produce cuando el foco se mueve del ContentIsland asociado.

NavigateFocusRequested

Se produce cuando el host de Content.ContentIsland quiere que ContentIsland se centre.

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

Se aplica a

Consulte también