Tipo de controle DataItem

Este tópico fornece informações sobre o suporte do Microsoft Automação da Interface do Usuário para o tipo de controle DataItem.

Uma entrada em uma lista de contatos é um exemplo de um controle de item de dados. Um controle de item de dados contém informações de interesse de 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 o Automação da Interface do Usuário estrutura de árvore, propriedades, padrões de controle e 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 em que a estrutura/plataforma da interface do usuário integra Automação da Interface do Usuário suporte para tipos de controle e padrões de controle.

Este tópico inclui as seções a seguir.

Estrutura de árvore típica

A tabela a seguir ilustra um controle típico e uma exibição de conteúdo da árvore 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.

Exibição de controle 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 relevantes

A tabela a seguir lista as propriedades Automação da Interface do Usuário cujo valor ou definição é especialmente relevante para o tipo de controle DataItem. Para obter mais informações sobre Automação da Interface do Usuário propriedades, consulte Recuperando propriedades de elementos Automação da Interface do Usuário.

Propriedade de Automação da Interface do Usuário Valor Observações
UIA_AutomationIdPropertyId Veja as observações. O valor dessa propriedade deve ser exclusivo entre todos os elementos pares na exibição bruta da árvore Automação da Interface do Usuário.
UIA_BoundingRectanglePropertyId Veja as observações. O retângulo mais externo que contém todo o controle.
UIA_ClickablePointPropertyId Veja as observações. Com suporte se houver um retângulo delimitador. Se nem todos os pontos dentro do retângulo delimitador forem clicáveis e o elemento executar testes de clique especializados, substitua e forneça um ponto clicável.
UIA_ControlTypePropertyId DataItem
UIA_IsContentElementPropertyId TRUE O controle de item de dados deve ser sempre conteúdo.
UIA_IsControlElementPropertyId TRUE O controle de item de dados deve ser sempre um controle.
UIA_IsKeyboardFocusablePropertyId Veja as observações. Se o controle puder receber o foco do teclado, ele deverá dar suporte a essa propriedade.
UIA_ItemStatusPropertyId Veja as observações. Se o controle contiver status que está sendo atualizada dinamicamente, essa propriedade deverá ter suporte para que uma tecnologia adaptativa possa receber atualizações quando o status do elemento for alterado.
UIA_ItemTypePropertyId Veja as observações. Esse é o valor da cadeia de caracteres que transmite ao usuário final o objeto subjacente que o item representa. Os exemplos incluem "Arquivo de Mídia" e "Contato".
UIA_LabeledByPropertyId Nulo Os controles de item de dados não têm um rótulo de texto estático.
UIA_LocalizedControlTypePropertyId Veja as observações. Cadeia de caracteres localizada correspondente ao tipo de controle DataItem . O valor padrão é "item de dados" para en-US ou inglês (Estados Unidos).
UIA_NamePropertyId Veja as observações. O controle de item de dados sempre contém um elemento de texto primário que o usuário reconheceria como o identificador do item.

 

Padrões de controle necessários

A tabela a seguir lista os padrões de controle 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 padrões de controle, consulte Visão geral dos padrões de controle da Automação da Interface do Usuário.

Padrão de controle Suporte Observações
IExpandCollapseProvider Depende Se o item de dados puder ser expandido ou recolhido para mostrar e ocultar informações, o padrão de controle ExpandCollapse deverá ter suporte.
IGridItemProvider Depende Os itens de dados darão suporte ao padrão de controle GridItem 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 dão suporte à capacidade de serem rolados para exibição com o padrão de controle ScrollItem quando seu contêiner de dados tiver mais itens do que pode caber na tela.
ISelectionItemProvider Depende A capacidade de selecionar os itens de dados depende do conteúdo.
ITableItemProvider Depende Se o item de dados estiver contido em um tipo de controle DataGrid que tenha um elemento de cabeçalho, ele deverá dar suporte ao padrão de controle TableItem .
IToggleProvider Depende Se o item de dados contiver um estado que pode ser circulado, ele deverá dar suporte ao padrão de controle De alternância .
IValueProvider Depende Se o texto primário do item de dados for editável, o padrão de controle Valor deverá ter suporte.

 

Trabalhando com DataItems em listas grandes

Como listas grandes geralmente são virtualizadas em estruturas de interface do usuário para auxiliar no desempenho, um cliente Automação da Interface do Usuário não pode usar o recurso de consulta Automação da Interface do Usuário para pesquisar o conteúdo da árvore completa da mesma maneira que pode em outros contêineres de itens. Um cliente deve rolar o item para exibição (ou expandir o controle para mostrar todas as opções disponíveis) antes de acessar o conjunto completo de informações do item de dados.

Ao chamar SetFocus no elemento Automação da Interface do Usuário para o item de dados, o Microsoft Windows Explorer retorna com êxito e faz com que o foco seja definido como o controle Editar dentro da subárvore do item de dados.

Eventos obrigatórios

A tabela a seguir lista os eventos Automação da Interface do Usuário aos quais os controles de item de dados são necessários para dar suporte. Para mais informações sobre eventos, confira Visão geral de eventos de Automação da Interface do Usuário.

Evento de Automação da Interface do Usuário Observações
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento com alteração de propriedade.
UIA_ExpandCollapseExpandCollapseStatePropertyId evento com alteração de propriedade. Se o controle der suporte ao padrão de controle ExpandCollapse , ele deverá dar suporte a esse evento.
UIA_Invoke_InvokedEventId Se o controle der suporte ao padrão de controle Invoke , ele deverá dar suporte a esse evento.
UIA_IsEnabledPropertyId evento com alteração de propriedade. Se o controle der suporte à propriedade IsEnabled , ele deverá dar suporte a esse evento.
UIA_IsOffscreenPropertyId evento com alteração de propriedade. Se o controle der suporte à propriedade IsOffscreen , ele deverá dar suporte a esse evento.
UIA_ItemStatusPropertyId evento com alteração de propriedade. Se o controle der suporte à propriedade ItemStatus , ele deverá dar suporte a esse evento.
UIA_NamePropertyId evento com alteração de propriedade.
UIA_SelectionItem_ElementAddedToSelectionEventId Se o controle der suporte ao padrão de controle SelectionItem , ele deverá dar suporte a esse evento.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Se o controle der suporte ao padrão de controle SelectionItem , ele deverá dar suporte a esse evento.
UIA_SelectionItem_ElementSelectedEventId Se o controle der suporte ao padrão de controle SelectionItem , ele deverá dar suporte a esse evento.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId evento com alteração de propriedade. Se o controle der suporte ao padrão de controle Desativar , ele deverá dar suporte a esse evento.
UIA_ValueValuePropertyId evento com alteração de propriedade. Se o controle der suporte ao padrão de controle Value , ele deverá dar suporte a esse evento.

 

Exemplo de tipo de controle DataItem

A imagem a seguir ilustra um tipo de controle DataItem em um controle de exibição de lista.

captura de tela do controle de exibição de lista com o tipo de controle dataitem

A exibição de controle e a exibição de conteúdo da árvore Automação da Interface do Usuário que pertence ao controle de item de dados são exibidas abaixo. Os padrões de controle de 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. Para obter um exemplo de uma estrutura de grade de nível mais alto, consulte Tipo de controle DataGrid.

Á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 "Contas Receivable.doc"
      • Editar "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")
      • Editar "Data modificada" (TableItem, GridItem, Value "25/8/2006 3:29 PM")
      • Editar "Size" (GridItem, TableItem, Value "11.0 KB")
    • DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • ...
  • Grupo "Contoso" (Tabela, Grade)
    • DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • Imagem "Contas Receivable.doc"
      • Editar "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")
      • Editar "Data modificada" (TableItem, GridItem, Value "25/8/2006 3:29 PM")
      • Editar "Size" (GridItem, TableItem, Value "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 selecionáveis 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 Receivable.doc" e "Contas Payable.doc") em Grupo ("Contoso") podem ser aprimorados expondo-os como tipos de controle ListItem porque esse tipo já dá suporte ao padrão de controle SelectionItem .

Conceitual

Visão Geral dos Tipos de Controle de Automação de Interface do Usuário

Visão geral de automação da interface do usuário