Implementando o Padrão Controle de Window de Automação de Interface de Usuário
Observação
Esta documentação destina-se a desenvolvedores de .NET Framework que querem usar as classes da Automação da Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre a Automação da Interface do Usuário, confira API de Automação do Windows: Automação da Interface do Usuário.
Este tópico apresenta as diretrizes e as convenções para implementar IWindowProvider, incluindo informações sobre propriedades, métodos e eventos WindowPattern. Links para referências adicionais são listados no final do tópico.
O padrão WindowPattern de controle é usado para dar suporte a controles que fornecem funcionalidades fundamentais baseadas em janela dentro de uma GUI (interface gráfica do usuário) tradicional. Exemplos de controles que devem implementar esse padrão de controle incluem janelas de aplicativo de nível superior, janelas filho de interface MDI, controles de painel dividido redimensionáveis, caixas de diálogo modais e janelas de ajuda de balão.
Diretrizes e convenções de implementação
Ao implementar o padrão de controle Window, observe as seguintes diretrizes e convenções:
Para dar suporte à capacidade de modificar o tamanho da janela e a posição da tela usando Automação da Interface do Usuário, um controle deve implementar ITransformProvider e IWindowProvider.
Controles que contêm barras de título e elementos da barra de título que permitem que o controle seja movido, redimensionado, maximizado, minimizado ou fechado normalmente são necessários para implementar IWindowProvider.
Controles como pop-ups de dica de ferramenta e caixa de combinação ou menu suspensos normalmente não implementam IWindowProvider.
As janelas de ajuda de balão são diferenciadas dos pop-ups básicos da dica de ferramenta pelo provisionamento de um botão Fechar semelhante a uma janela.
O modo de tela inteira não tem suporte no IWindowProvider, pois ele é específico do recurso para um aplicativo e não é um comportamento de janela típico.
Membros necessários para IWindowProvider
As propriedades, os métodos e os eventos a seguir são necessários para a interface IWindowProvider.
Membro obrigatório | Tipo de membro | Observações |
---|---|---|
InteractionState | Propriedade | Nenhum |
IsModal | Propriedade | Nenhum |
IsTopmost | Propriedade | Nenhum |
Maximizable | Propriedade | Nenhum |
Minimizable | Propriedade | Nenhum |
VisualState | Propriedade | Nenhum |
Close | Método | Nenhum |
SetVisualState | Método | Nenhum |
WaitForInputIdle | Método | Nenhum |
WindowClosedEvent | Evento | Nenhum |
WindowOpenedEvent | Evento | Nenhum |
WindowInteractionState | Evento | Não é garantido que seja ReadyForUserInteraction |
Exceções
Os provedores devem gerar as exceções a seguir.
Tipo de exceção | Condição |
---|---|
InvalidOperationException | SetVisualState – Quando um controle não dá suporte a um comportamento solicitado. |
ArgumentOutOfRangeException | WaitForInputIdle – Quando o parâmetro não é um número válido. |
Confira também
- Visão Geral de Padrões de Controle de Automação de Interface de Usuário
- Padrões de controle de suporte em um provedor de automação da interface do usuário
- Padrões de Controle para Clientes de Automação de IU
- Visão geral da árvore de automação de interface do usuário
- Usar armazenamento em cache em automação de interface do usuário