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