Compartilhar via


InputFocusController Classe

Definição

Representa um objeto que dá suporte ao tratamento e gerenciamento de eventos de foco em um 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
Herança
Object Platform::Object IInspectable InputObject InputFocusController
Atributos

Comentários

Um ContentIsland tem um HWND subjacente que pode interagir com APIs win32 e receber mensagens Win32 (como várias mensagens de entrada).

Um ContentIslandterá foco se o HWND subjacente tiver o foco do Win32 .

Quando A ContentIsland tiver o foco, ele receberá mensagens de entrada de teclado do sistema. Os eventos de entrada de teclado podem ser manipulados por um objeto InputKeyboardSource, que é recuperado por meio do método InputKeyboardSource.GetForIsland(Microsoft.UI.Content.ContentIsland).

Observação

Para obter mais detalhes sobre o foco do Win32 e a entrada do teclado, consulte a seção Foco e Ativação do Teclado da Visão Geral de Entrada do Teclado.

Comportamento quando descartado

Um InputFocusController está associado a um ContentIsland específico. Se InputFocusController for descartado, ele perderá essa associação e todos os manipuladores de eventos não serão registrados.

Se o ContentIsland associado for descartado, o InputFocusController associado também será descartado.

Para obter mais detalhes, consulte Microsoft.UI.Input.InputObject.

Modelo de threading

Um InputFocusController só pode ser do thread em que foi criado. Qualquer chamada de função ou acesso à propriedade em um thread diferente retornará RPC_E_WRONG_THREAD (ou o tipo de erro projetado equivalente).

Para obter mais detalhes, consulte Microsoft.UI.Input.InputObject.

Propriedades

DispatcherQueue

Obtém o DispatcherQueue para o InputObject.

(Herdado de InputObject)
HasFocus

Obtém se o ContentIsland associado tem foco.

Métodos

DepartFocus(FocusNavigationRequest)

Gera o evento InputFocusNavigationHost.DepartFocusRequested para o host Content.ContentIsland .

Por exemplo, o usuário fez guias por todos os elementos tabbáveis no ContentIsland e agora o foco deve se afastar da Ilha para outra coisa no aplicativo de hospedagem.

GetForIsland(ContentIsland)

Recupera um InputFocusController objeto para o ContentIsland especificado.

TrySetFocus()

Tenta definir o foco para o ContentIsland associado ao InputFocusController.

Eventos

GotFocus

Ocorre quando o ContentIsland associado recebe o foco.

LostFocus

Ocorre quando o foco é movido do ContentIsland associado.

NavigateFocusRequested

Ocorre quando o host Content.ContentIsland deseja que o ContentIsland se concentre.

Por exemplo, o usuário fez guias pelos elementos do host e agora precisa fazer a tabulação no ContentIsland. O aplicativo de hospedagem chama InputFocusNavigationHost.NavigateFocus(Microsoft.UI.Input.FocusNavigationRequest) no InputFocusNavigationHost associado ao SiteBridge. O InputFocusController para ContentIsland recebe esse evento NavigateFocusRequested e pode decidir se ele terá foco.

Aplica-se a

Confira também