Compartilhar via


Implementando o Padrão Controle de Window de Automação de Interface de Usuário

Observação

Esta documentação destina-se a desenvolvedores do .NET Framework que desejam usar as classes de Automação de Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre Automação de Interface do Usuário, consulte API de Automação do Windows: Automação de Interface do Usuário.

Este tópico apresenta diretrizes e convenções para implementação IWindowProvider, incluindo informações sobre WindowPattern propriedades, métodos e eventos. Links para referências adicionais são listados no final do tópico.

O WindowPattern padrão de controle é usado para dar suporte a controles que fornecem funcionalidade baseada em janela fundamental em uma GUI (interface gráfica) tradicional do usuário. Exemplos de controles que devem implementar esse padrão de controle incluem janelas de aplicativo de nível superior, janelas filho da MDI (interface de vários documentos), controles de painel dividido redimensionáveis, diálogos modais e janelas de ajuda de balão.

Diretrizes e convenções de implementação

Ao implementar o padrão de controle janela, 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 de Interface de Usuário, um controle deve implementar ITransformProvider além de 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 do IWindowProvider, pois é específico do recurso para um aplicativo e não é um comportamento típico da janela.

Membros necessários para IWindowProvider

As propriedades, métodos e eventos a seguir são necessários para a interface IWindowProvider.

Membro necessário Tipo de membro Anotaçõ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 Acontecimento Nenhum
WindowOpenedEvent Acontecimento Nenhum
WindowInteractionState Acontecimento 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.

Consulte também