Partilhar via


Operação FindControl

Este tópico descreve as duas abordagens que podem ser utilizadas para identificar um controlo da interface de utilizador (IU).

Neste Tópico

Identificação baseada em árvore da IU

Identificação baseada no desfasamento

Identificação baseada em árvore da IU

Este método captura a estrutura total da árvore de controlo. Utiliza todas as propriedades de controlo para percorrer o controlo final.

O seguinte é um formato de enlace de exemplo:

<UIElement Name="UISystemandSecurityHyperlink">
<UIObject MatchCount="1">                            
              <AndCondition>
                <PropertyCondition Name="Name">CPCategoryPanel</PropertyCondition>
                <PropertyCondition Name="ControlType">Pane</PropertyCondition>
              </AndCondition>
                <UIObject>                                   
                  <AndCondition>
                    <PropertyCondition Name="Name">System and Security</PropertyCondition>
                    <PropertyCondition Name="ControlType">Hyperlink</PropertyCondition>
                  </AndCondition>                  
                </UIObject>
            </UIObject>
<UIElement>

As etiquetas são explicadas em seguida:

  • <UIElement> – Este é o nó de raiz, com o atributo Name:

    • Name – Captura o nome amigável que será utilizado no DDA.

    • StartFromDesktop – Especifica se a pesquisa é da área de trabalho ou do principal atual.

    • ParentUIElement – Especifica o UIElement que tem de ser utilizado como um controlo principal. Para os botões, "pane" tem de ser especificado como ParentUIElement. Isto será útil quando cria um enlace manualmente.

    • MatchCount – Especifica a contagem de correspondências. Se mais de um controlo tem as mesmas propriedades, será identificado com base no índice.

  • este nó**<UIObject>** – Este nó captura a estrutura de árvore completa para identificar o controlo:

    • <PropertyCondition Name="Name">CPCategoryPanel</PropertyCondition> – Captura a condição de propriedade pela qual o controlo é pesquisado. Isto será agrupado no AndCondition/OrCondition/NotCondition. Se existe apenas um PropertyCondition, deve ser apresentado no nó de raiz sem agrupamento. Name representa o nome da propriedade de controlo.

    • AndCondition, OrCondition e NotCondition – Condições de agrupamento para a condição de propriedade.

    • <AndCondition Id="SearchCondition"> – Captura a condição de propriedade com que o controlo pode ser identificado. Id representa o ID da lista de condição. Mais de um AndCondition pode ser utilizado quando o agrupamento é fornecido mais tarde.

    • <OrCondition Id="SearchCondition"> – Captura a condição de propriedade com que o controlo pode ser identificado. Id representa o ID da lista de condição. Mais de um OrCondition pode ser utilizado quando o agrupamento é fornecido mais tarde.

    • <NotCondition Id="SearchCondition"> – Captura a condição de propriedade com que o controlo pode ser identificado. Id representa o ID da lista de condição. Mais de um NotCondition pode ser utilizado quando o agrupamento é fornecido mais tarde.

    • AndCondition, NotConditione, OrCondition – Podem ser aninhados, mas têm de ser agrupados corretamente. Os enlaces XML superiores têm de ter apenas uma condição e podem ser agrupados internamente.

Identificação baseada no desfasamento

Esta abordagem é muito fácil de utilizar e compila também os enlaces.

Nota

Este método não é útil quando a localização da árvore de controlo é alterada constantemente, porque utiliza o número de posição na árvore da IU para identificar os controlos. Se a posição da Árvore de IU é alterada dinamicamente, esta abordagem não pode ser utilizada.

O atributoMatchCount será utilizado como nível de desfasamento. As condições devem ser fornecidas se necessário.

O exemplo seguinte mostra um formato de enlace de exemplo.

<UIElement name="textBoxTabPage1">
          <UIObject MatchCount="2">            
            <UIObject  MatchCount="1">             
              <UIObject   MatchCount="2">                
              </UIObject>
            </UIObject>
          </UIObject>
        </UIElement>

Consulte Também

Conceitos

UIADDA
Utilizar adaptadores orientados por dados (DDAs)

Unified Service Desk
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.