InputFocusController Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de