Partilhar via


Implementando o padrão de controle de janela de automação da interface do usuário

Nota

Esta documentação destina-se a desenvolvedores do .NET Framework que desejam usar as classes de automação da interface do usuário gerenciadas definidas no System.Windows.Automation namespace. Para obter as informações mais recentes sobre a automação da interface do usuário, consulte API de automação do Windows: automação da 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 estão listados no final do tópico.

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

Orientações e convenções de aplicação

Ao implementar o padrão de controle Window, observe as seguintes diretrizes e convenções:

  • Para suportar a capacidade de modificar o tamanho da janela e a posição da tela usando a Automação da Interface do Usuário, um controle deve ser implementado ITransformProvider além do IWindowProvider.

  • Os 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 são normalmente necessários para implementar IWindowProvidero .

  • Controles como pop-ups de dica de ferramenta e caixa de combinação ou menus suspensos normalmente não implementam IWindowProvidero .

  • As janelas de ajuda em balão são diferenciadas dos pop-ups básicos de dicas de ferramentas pelo fornecimento de um botão Fechar semelhante a uma janela.

  • O modo de tela cheia não é suportado pelo IWindowProvider, pois é específico de um recurso para um aplicativo e não é um comportamento típico de janela.

Membros necessários para IWindowProvider

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

Membro obrigatório Tipo de membro Notas
InteractionState Property Nenhuma
IsModal Property Nenhuma
IsTopmost Property Nenhuma
Maximizable Property Nenhuma
Minimizable Property Nenhuma
VisualState Property Nenhuma
Close Método Nenhuma
SetVisualState Método Nenhuma
WaitForInputIdle Método Nenhuma
WindowClosedEvent Evento Nenhuma
WindowOpenedEvent Evento Nenhuma
WindowInteractionState Evento Não é garantido que seja ReadyForUserInteraction

Exceções

Os provedores devem lançar as seguintes exceções.

Tipo de exceção Condição
InvalidOperationException SetVisualState

- Quando um controle não suporta um comportamento solicitado.
ArgumentOutOfRangeException WaitForInputIdle

- Quando o parâmetro não é um número válido.

Consulte também