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 fornece informações sobre o suporte à Automação de Interface do Usuário da Microsoft para o tipo de controle DataItem. Na Automação da Interface do Usuário, um tipo de controle é um conjunto de condições que um controle deve atender para usar a ControlTypeProperty propriedade. As condições incluem as diretrizes específicas para estrutura de árvore de automação da IU, os valores de propriedade de Automação da Interface do Usuário e os padrões de controle.
Uma entrada em uma lista contatos é um exemplo de um controle de item de dados. Um controle de item de dados contém informações de interesse para um usuário final. É mais complicado do que o item de lista simples porque contém informações mais avançadas.
As seções a seguir definem a estrutura de árvore de UI Automation, as propriedades, os padrões de controle e os eventos necessários para o tipo de controle DataItem. Os requisitos de Automação da Interface do Usuário se aplicam a todos os controles de item de dados, seja o WPF (Windows Presentation Foundation), o Win32 ou o Windows Forms.
Estrutura de árvore de Automação da IU necessária
A tabela a seguir ilustra a exibição de controle e a exibição de conteúdo da árvore de Automação da Interface do Usuário que pertence aos controles de item de dados e descreve o que pode ser contido em cada exibição. Para obter mais informações sobre a árvore de Automação da Interface do Usuário, consulte Visão geral da árvore de automação da interface do usuário.
| Árvore da Automação da Interface do Usuário – Exibição de Controle | Árvore da Automação da Interface do Usuário – Exibição de Conteúdo |
|---|---|
| DataItem - Varia (0 ou mais; pode ser estruturado na hierarquia) |
DataItem - Varia (0 ou mais; pode ser estruturado na hierarquia) |
Um elemento de item de dados em uma grade de dados pode hospedar uma variedade de objetos, incluindo outra camada de itens de dados ou elementos de grade específicos, como texto, imagens ou controles de edição. Se o elemento de item de dados tiver uma função de objeto específica, o elemento deverá ser exposto como um tipo de controle específico; por exemplo, um tipo de controle ListItem para um item de dados selecionável na grade.
Propriedades de automação da interface do usuário necessárias
A tabela a seguir lista as propriedades cujo valor ou definição é especialmente relevante para controles de item de dados. Para obter mais informações sobre as propriedades da Automação da Interface do Usuário, consulte Propriedades de Automação da Interface do Usuário para clientes.
| Propriedade | Valor | Anotações |
|---|---|---|
| AutomationIdProperty | Confira as anotações. | O valor dessa propriedade precisa ser exclusivo em todos os controles em um aplicativo. |
| BoundingRectangleProperty | Confira as anotações. | O retângulo mais externo que contém todo o controle. |
| ClickablePointProperty | Confira as anotações. | Com suporte se houver um retângulo delimitador. Se nem todos os pontos dentro do retângulo delimitador forem clicáveis e você executar um teste de clique especializado, substitua e forneça um ponto clicável. |
| ControlTypeProperty | DataItem | Esse valor é o mesmo para todas as estruturas de interface do usuário. |
| IsContentElementProperty | Verdade | O controle de item de dados deve ser sempre conteúdo. |
| IsControlElementProperty | Verdade | O controle de item de dados deve ser sempre um controle. |
| IsKeyboardFocusableProperty | Confira as anotações. | Se o controle puder receber o foco do teclado, ele deverá dar suporte a essa propriedade. |
| ItemStatusProperty | Confira as anotações. | Se o controle contiver o status que está sendo atualizado dinamicamente, essa propriedade deverá ter suporte para que uma tecnologia adaptativa possa receber atualizações quando o status do elemento for alterado. |
| ItemTypeProperty | Confira as anotações. | Esse é o valor da cadeia de caracteres que transmite ao usuário final o objeto subjacente que o item representa. Os exemplos são "Arquivo de Mídia" ou "Contato". |
| LabeledByProperty | Null |
Os controles de item de dados não têm um rótulo de texto estático. |
| LocalizedControlTypeProperty | "item de dados" | Cadeia de caracteres localizada correspondente ao tipo de controle DataItem. |
| NameProperty | Confira as anotações. | O controle de item de dados sempre contém um elemento de texto primário relacionado ao que o usuário associaria como o identificador mais semântico para o item. |
Padrões de controle de automação de interface do usuário necessários
A tabela a seguir lista os padrões de controle da Automação de Interface do Usuário da Microsoft necessários para serem suportados por todos os controles de item de dados. Para obter mais informações sobre padrões de controle, consulte a visão geral dos padrões de controle de automação da interface do usuário.
| Padrão de controle | Apoio | Anotações |
|---|---|---|
| IExpandCollapseProvider | Depende | Se o item de dados puder ser expandido ou recolhido para mostrar e ocultar informações, o padrão Expandir Recolher deverá ter suporte. |
| IGridItemProvider | Depende | Os itens de dados darão suporte ao padrão item de Grade quando uma coleção de itens de dados estiver disponível em um contêiner que pode ser navegada espacialmente item a item. |
| IScrollItemProvider | Depende | Todos os itens de dados possuem a capacidade de serem rolados para a exibição utilizando o padrão de rolagem de itens quando o contêiner de dados tiver mais itens do que podem caber na tela. |
| ISelectionItemProvider | Sim | Todos os itens de dados devem dar suporte ao padrão item de seleção para indicar quando o item é selecionado. |
| ITableItemProvider | Depende | Se o item de dados estiver contido em um tipo de controle da Grade de Dados, ele dará suporte a esse padrão. |
| IToggleProvider | Depende | Se o item de dados contiver um estado que pode ser percorrido. |
| IValueProvider | Depende | Se o texto primário do item de dados for editável, o padrão Valor deverá ser suportado. |
Trabalhando com itens de dados em listas grandes
Listas grandes geralmente são dados virtualizados em estruturas de interface do usuário para auxiliar no desempenho. Devido a isso, um cliente Automação da Interface do Usuário não pode usar o recurso de consulta de Automação da Interface do Usuário para extrair o conteúdo da árvore completa da mesma maneira que consegue em outros contêineres de itens. Um cliente deve rolar o item para a exibição (ou expandir o controle para mostrar todas as opções valiosas) antes de acessar o conjunto completo de informações do item de dados.
Ao chamar SetFocus no elemento de Automação da Interface do Usuário para o item de dados, o caso do Microsoft Windows Explorer retornará com êxito e fará com que o foco seja definido como Editar dentro da subárvore do item de dados.
Eventos de automação de interface do usuário necessários
A tabela a seguir lista os eventos de Automação da Interface do Usuário necessários para serem suportados por todos os controles de item de dados. Para obter mais informações sobre eventos, consulte a visão geral de eventos de automação da interface do usuário.
| Evento de automação da interface do usuário | Apoio | Anotações |
|---|---|---|
| AutomationFocusChangedEvent | Obrigatório | Nenhum |
| BoundingRectangleProperty evento de alteração da propriedade. | Obrigatório | Nenhum |
| IsEnabledProperty evento de alteração da propriedade. | Obrigatório | Nenhum |
| IsOffscreenProperty evento de alteração da propriedade. | Obrigatório | Nenhum |
| NameProperty evento de alteração da propriedade. | Obrigatório | Nenhum |
| StructureChangedEvent | Obrigatório | Nenhum |
| InvokedEvent | Depende | Nenhum |
| ExpandCollapseStateProperty evento de alteração da propriedade. | Depende | Nenhum |
| ElementAddedToSelectionEvent | Obrigatório | Nenhum |
| ElementRemovedFromSelectionEvent | Obrigatório | Nenhum |
| ElementSelectedEvent | Obrigatório | Nenhum |
| ToggleStateProperty evento de alteração da propriedade. | Depende | Nenhum |
| ValueProperty evento de alteração da propriedade. | Depende | Nenhum |
Exemplo de tipo de controle DataItem
A imagem a seguir ilustra um tipo de controle DataItem em um controle de Exibição de Lista com suporte para informações avançadas para as colunas.
A Visão de Controle e a Visão de Conteúdo da árvore de Automação da Interface do Usuário relacionada ao controle de item de dados são exibidas abaixo. Os padrões de controle para cada elemento de automação são mostrados entre parênteses. O grupo "Contoso" também faz parte da grade do controle de host da Grade de Dados.
| Árvore da Automação da Interface do Usuário – Exibição de Controle | Árvore da Automação da Interface do Usuário – Exibição de Conteúdo |
|---|---|
| – Grupo "Contoso" (Tabela, Grade) – DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke) – Imagem "Accounts Receivable.doc" – Editar "Nome" (TableItem, GridItem, Value "Accounts Receivable.doc") - Editar "Data modificada" (TableItem, GridItem, Value "25/8/2006 3:29 PM") - Editar "Tamanho" (GridItem, TableItem, Valor "11,0 KB) – DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke) - ... |
– Grupo "Contoso" (Tabela, Grade) – DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke) – Imagem "Accounts Receivable.doc" – Editar "Nome" (TableItem, GridItem, Value "Accounts Receivable.doc") - Editar "Data modificada" (TableItem, GridItem, Value "25/8/2006 3:29 PM") - Editar "Tamanho" (GridItem, TableItem, Valor "11,0 KB) – DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke) - … |
Se uma grade representar uma lista de itens selecionáveis, os elementos de interface do usuário correspondentes poderão ser expostos com o tipo de controle ListItem em vez do tipo de controle DataItem. No exemplo anterior, os elementos DataItem ("Contas a Receber.doc" e "Contas a Pagar.doc") sob o Grupo ("Contoso") podem ser aprimorados expondo-os como tipos de controle ListItem, porque esse tipo já oferece suporte ao padrão de controle SelectionItem.
Consulte também
- DataItem
- Visão geral dos tipos de controle de automação da interface do usuário
- Visão geral da automação da interface do usuário