Partilhar via


Tipo de controle DataItem

Este tópico fornece informações sobre o suporte de automação da interface do usuário da Microsoft 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 que são de interesse para um usuário final. É mais complicado do que o simples item de lista porque contém informações mais ricas.

As seções a seguir definem a estrutura da árvore de Automação da Interface do Usuário, 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 itens de dados em que a estrutura/plataforma da interface do usuário integra o suporte à Automação da Interface do Usuário para tipos de controle e padrões de controle.

Este tópico contém as seguintes seções.

Estrutura típica da árvore

A tabela a seguir descreve um controle típico e uma 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 .

Vista de Controlo Visualização de conteúdo
  • DataItem
    • Varia (0 ou mais; pode ser estruturado em hierarquia)
  • DataItem
    • Varia (0 ou mais; pode ser estruturado em 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 deve ser exposto como um tipo de controle específico; por exemplo, um ListItem tipo de controle para um item de dados selecionável na grade.

Propriedades relevantes

A tabela a seguir lista as propriedades de 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 as propriedades de automação da interface do usuário, consulte Recuperando propriedades de elementos de automação da interface do usuário.

Propriedade de automação da interface do usuário Valor Observações
UIA_AutomationIdPropertyId Ver notas. O valor dessa propriedade deve ser exclusivo entre todos os elementos de mesmo nível na exibição bruta da árvore de Automação da Interface do Usuário.
UIA_BoundingRectanglePropertyId Ver notas. O retângulo mais externo que contém todo o controle.
UIA_ClickablePointPropertyId Ver notas. Suportado 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 acerto especializados, substitua e forneça um ponto clicável.
UIA_ControlTypePropertyId DataItem
UIA_IsContentElementPropertyId VERDADEIRO O controle de item de dados deve ser sempre conteúdo.
UIA_IsControlElementPropertyId VERDADEIRO O controle de item de dados deve ser sempre um controle.
UIA_IsKeyboardFocusablePropertyId Ver notas. Se o controle pode receber foco do teclado, ele deve suportar essa propriedade.
UIA_ItemStatusPropertyId Ver notas. Se o controle contiver status que está sendo atualizado dinamicamente, essa propriedade deve ser suportada para que uma tecnologia assistencial possa receber atualizações quando o status do elemento for alterado.
UIA_ItemTypePropertyId Ver notas. Este é o valor da cadeia de caracteres que transmite ao usuário final o objeto subjacente que o item representa. Os exemplos incluem "Media File" e "Contact".
UIA_LabeledByPropertyId Nulo Os controles de item de dados não têm um rótulo de texto estático.
UIA_LocalizedControlTypePropertyId Ver notas. Cadeia de caracteres localizada correspondente ao DataItem tipo de controle. O valor padrão é "item de dados" para en-US ou inglês (Estados Unidos).
UIA_NamePropertyId Ver notas. 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 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 padrões de controle, consulte Visão geral padrões de controle de 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á ser suportado.
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 dentro de um contêiner que possa ser navegado espacialmente item a item.
IScrollItemProvider Depende Todos os itens de dados suportam a capacidade de serem rolados para a exibição com o padrão de controle ScrollItem quando seu contêiner de dados tem mais itens do que cabem 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 header, ele deverá oferecer suporte ao padrão de controle TableItem.
IToggleProvider Depende Se o item de dados contiver um estado que possa ser percorrido, ele deverá oferecer suporte ao padrão de controle Toggle.
IValueProvider Depende Se o texto principal do item de dados for editável, o padrão de controle Valor deverá ser suportado.

 

Trabalhando com DataItems em listas grandes

Como listas grandes geralmente são virtualizadas dentro de estruturas de interface do usuário para ajudar no desempenho, um cliente de 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 forma que 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 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 para o controle Edit dentro da subárvore do item de dados.

Eventos necessários

A tabela a seguir lista os eventos de Automação da Interface do Usuário aos quais os controles de item de dados são necessários para dar suporte. Para obter mais informações sobre eventos, consulte 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 de alteração de propriedade.
UIA_ExpandCollapseExpandCollapseStatePropertyId evento de alteração de propriedade. Se o controle oferecer suporte ao padrão de controle ExpandCollapse, ele deverá oferecer suporte a esse evento.
UIA_Invoke_InvokedEventId Se o controle oferecer suporte ao padrão de controle Invoke, ele deverá oferecer suporte a esse evento.
UIA_IsEnabledPropertyId evento de alteração de propriedade. Se o controle oferecer suporte à propriedadeIsEnabled, ele deverá oferecer suporte a esse evento.
UIA_IsOffscreenPropertyId evento de alteração de propriedade. Se o controle oferecer suporte à propriedade IsOffscreen, ele deverá oferecer suporte a esse evento.
UIA_ItemStatusPropertyId evento de alteração de propriedade. Se o controle oferecer suporte à propriedadeItemStatus, ele deverá oferecer suporte a esse evento.
UIA_NamePropertyId evento de alteração de propriedade.
UIA_SelectionItem_ElementAddedToSelectionEventId Se o controle oferecer suporte ao padrão de controle SelectionItem, ele deverá oferecer suporte a esse evento.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Se o controle oferecer suporte ao padrão de controle SelectionItem, ele deverá oferecer suporte a esse evento.
UIA_SelectionItem_ElementSelectedEventId Se o controle oferecer suporte ao padrão de controle SelectionItem, ele deverá oferecer suporte a esse evento.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId evento de alteração de propriedade. Se o controle oferecer suporte ao padrão de controle Toggle, ele deverá oferecer suporte a esse evento.
UIA_ValueValuePropertyId evento de alteração de propriedade. Se o controle oferecer suporte ao padrão de controle valor, ele deverá oferecer 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 de Automação da Interface do Usuário que pertence 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. Para obter um exemplo de uma estrutura de grade de nível superior, consulte DataGrid Control Type.

Árvore de automação da interface do usuário - Visualização de controle Árvore de automação da interface do usuário - Visualização de conteúdo
  • Grupo "Contoso" (Tabela, Grade)
    • DataItem "Contas Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • Imagem "Contas Receivable.doc"
      • Editar "Nome" (TableItem, GridItem, Valor "Contas Receivable.doc")
      • Editar "Data de modificação" (TableItem, GridItem, Valor "25/08/2006 15:29")
      • Editar "Size" (GridItem, TableItem, Valor "11.0 KB")
    • DataItem "Contas Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • ...
  • Grupo "Contoso" (Tabela, Grade)
    • DataItem "Contas Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • Imagem "Contas Receivable.doc"
      • Editar "Nome" (TableItem, GridItem, Valor "Contas Receivable.doc")
      • Editar "Data de modificação" (TableItem, GridItem, Valor "25/08/2006 15:29")
      • Editar "Size" (GridItem, TableItem, Valor "11.0 KB")
    • DataItem "Contas Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • ...

 

Se uma grade representa uma lista de itens selecionáveis, os elementos selecionáveis correspondentes da interface do usuário podem ser expostos com o tipo de controle ListItem em vez do tipo de controle DataItem. No exemplo anterior, os elementos DataItem ("Accounts Receivable.doc" e "Accounts Payable.doc") em Group ("Contoso") podem ser melhorados expondo-os como tipos de controle ListItem porque esse tipo já oferece suporte ao padrão de controle SelectionItem.

Conceptual

Visão geral dos tipos de controle de automação da interface do UI

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