Implementando o padrão de controle de encaixe da automação de interface do 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 diretrizes e convenções para implementar IDockProvider, incluindo informações sobre propriedades. Links para referências adicionais são listados no final do tópico.

O padrão de controle DockPattern é usado para expor as propriedades de encaixe de um controle dentro de um contêiner de encaixe. Um contêiner de encaixe é um controle que permite organizar elementos filho horizontal e verticalmente, em relação uns aos outros. Para ver exemplos de controles que implementam esse padrão de controle, confira Mapeamento de padrões de controle para clientes da Automação da Interface do Usuário.

Docking container with two docked children. Exemplo de encaixe do Visual Studio em que a janela "Exibição de Classe" é DockPosition.Right e a janela "Lista de Erros" é DockPosition.Bottom

Diretrizes e convenções de implementação

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

  • IDockProvider não expõe nenhuma propriedade do contêiner de encaixe ou nenhuma propriedade de controles encaixados adjacentes ao controle atual dentro do contêiner de encaixe.

  • Os controles são encaixados uns aos outros com base na ordem z atual. Quanto maior o posicionamento da ordem z, mais distantes eles são colocados da borda especificada do contêiner de encaixe.

  • Se o contêiner de encaixe for redimensionado, todos os controles encaixados dentro do contêiner serão reposicionados na mesma borda à qual foram encaixados originalmente. Os controles encaixados também serão redimensionados para preencher qualquer espaço dentro do contêiner de acordo com o comportamento de encaixe de seu DockPosition. Por exemplo, se Top for especificado, os lados esquerdo e direito do controle serão expandidos para preencher qualquer espaço disponível. Se Fill for especificado, todos os quatro lados do controle serão expandidos para preencher qualquer espaço disponível.

  • Em um sistema de vários monitores, os controles devem ser encaixados no lado esquerdo ou direito do monitor atual. Se isso não for possível, eles devem ser encaixados no lado esquerdo do monitor mais à esquerda ou no lado direito do monitor mais à direita.

Membros necessários para IDockProvider

As propriedades e os métodos a seguir são necessários para implementar a interface IDockProvider.

Membros necessários Tipo de membro Observações
DockPosition Propriedade Nenhum
SetDockPosition Método Nenhum

Esse padrão de controle não tem eventos associados.

Exceções

Os provedores devem gerar as exceções a seguir.

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

Quando um controle não é capaz de executar o estilo de encaixe solicitado.

Confira também