Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 implementar IGridProvider, incluindo informações sobre propriedades, métodos e eventos. Os links para referências adicionais são listados no final da visão geral.
O padrão de controle GridPattern é usado para dar suporte a controles que atuam como contêineres para uma coleção de elementos filho. Os filhos desse elemento devem implementar IGridItemProvider e ser organizados em um sistema de coordenadas lógico bidimensional que pode ser percorrido por linha e coluna. Para obter exemplos de controles que implementam esse padrão de controle, consulte mapeamento de padrões de controle para clientes de automação de interface do usuário.
Diretrizes e convenções de implementação
Ao implementar o padrão de controle grid, observe as seguintes diretrizes e convenções:
As coordenadas de grade são baseadas em zero com a célula superior esquerda (ou superior direita, dependendo da localidade) tendo as coordenadas (0, 0).
Se uma célula estiver vazia, um elemento de Automação da Interface do Usuário ainda deverá ser retornado para dar suporte à ContainingGrid propriedade dessa célula. Isso é possível quando o layout dos elementos filho na grade é semelhante a uma matriz irregular (veja o exemplo abaixo).
Exemplo de um controle de grade com coordenadas vazias
Uma grade com um só item ainda precisará implementar IGridProvider se for logicamente considerada uma grade. O número de itens filho na grade é irrelevante.
Linhas e colunas ocultas, dependendo da implementação do provedor, podem ser carregadas na árvore de Automação da Interface do Usuário e, portanto, serão refletidas nas propriedades RowCount e ColumnCount. Se as linhas e colunas ocultas ainda não tiverem sido carregadas, elas não deverão ser contadas.
IGridProvider não habilita a manipulação ativa de uma grade; ITransformProvider deve ser implementado para habilitar essa funcionalidade.
Use um StructureChangedEventHandler para escutar alterações estruturais ou de layout na grade, como células que foram adicionadas, removidas ou mescladas.
Use um AutomationFocusChangedEventHandler para acompanhar a passagem pelos itens ou células de uma grade.
Membros necessários para IGridProvider
As propriedades e os métodos a seguir são necessários para implementar a interface IGridProvider.
Membros necessários | Tipo | Anotações |
---|---|---|
RowCount | Propriedade | Nenhum |
ColumnCount | Propriedade | Nenhum |
GetItem | 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 |
---|---|
ArgumentOutOfRangeException | GetItem - Se a coordenada de linha solicitada for maior que a coordenada RowCount ou a coordenada de coluna for maior que a ColumnCount. |
ArgumentOutOfRangeException | GetItem - Se uma das coordenadas de linha ou coluna solicitada for menor que zero. |
Consulte também
- Visão geral dos padrões de controle de automação da interface do 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
- Implementando o padrão de controle GridItem de interface de usuário
- Visão geral da árvore de automação da interface do usuário
- Usar armazenamento em cache em automação de interface do usuário