Partilhar via


InputFocusController Classe

Definição

Representa um objeto que dá suporte ao tratamento e gerenciamento de eventos de foco em umcontentIsland .

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 uma HWND subjacente que pode interagir com APIs do Win32 e receber mensagens Win32 (como várias mensagens de entrada).

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

Quando A ContentIsland tiver 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).

Nota

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 umaContentIsland específica. Se o 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 passou 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 objeto para oContentIsland 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 ContentIslandassociado.

NavigateFocusRequested

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

Por exemplo, o usuário percorreu os 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 o ContentIsland, em seguida, recebe esse evento NavigateFocusRequested e pode decidir se ele terá foco.

Aplica-se a

Confira também