Compartilhar via


Suporte à automação de interface do usuário para o tipo de controle DataItem

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.

Imagem gráfica de um controle de Exibição de Lista com dois itens de dados

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