Partager via


Opération FindControl

 

Date de publication : novembre 2016

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Cette rubrique décrit les deux approches pouvant être utilisées pour identifier un contrôle d’interface utilisateur.

Contenu de la rubrique

Identification basée sur l’arborescence d’interface utilisateur

Identification basée sur le décalage

Identification basée sur l’arborescence d’interface utilisateur

Cette approche capture l’arborescente de contrôle complète. Elle utilise toutes les propriétés de contrôle pour accéder au contrôle final.

Voici un exemple de format de liaison :

<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>

Les balises sont expliquées comme suit :

  • <UIElement> : il s’agit du nœud racine, qui possède l’attribut Name :

    • Name : capture le nom convivial qui sera utilisé dans l’adaptateur DDA.

    • StartFromDesktop : indique si la recherche est effectuée à partir du bureau ou du parent actuel.

    • ParentUIElement : spécifie l’UIElement qui doit être utilisé comme contrôle parent. Pour les boutons, « volet » doit être spécifié comme ParentUIElement. Cela est utile lorsque vous créez une liaison manuellement.

    • MatchCount : spécifie le nombre de correspondances. Si plusieurs contrôles ont les mêmes propriétés, ils seront identifiés en fonction de cet index.

  • <UIObject> : ce nœud capture l’arborescence complète pour identifier le contrôle :

    • <PropertyCondition Name="Name">CPCategoryPanel</PropertyCondition> : capture la condition de propriété pour laquelle le contrôle est recherché. Elle sera regroupée dans AndCondition/OrCondition/NotCondition. S’il n’existe qu’une seule PropertyCondition, elle doit être présentée dans le nœud racine sans regroupement.Name représente le nom de la propriété de contrôle.

    • AndCondition, OrCondition et NotCondition : conditions de regroupement pour la condition de propriété.

    • <AndCondition Id="SearchCondition"> : capture la condition de propriété avec laquelle le contrôle peut être identifié.Id représente l'ID de la liste de conditions. Plusieurs AndCondition peuvent être utilisées lorsque le regroupement est fourni ultérieurement.

    • <OrCondition Id="SearchCondition"> : capture la condition de propriété avec laquelle le contrôle peut être identifié.Id représente l'ID de la liste de conditions. Plusieurs OrCondition peuvent être utilisées lorsque le regroupement est fourni ultérieurement.

    • <NotCondition Id="SearchCondition"> : capture la condition de propriété avec laquelle le contrôle peut être identifié.Id représente l'ID de la liste de conditions. Plusieurs NotCondition peuvent être utilisées lorsque le groupement est fourni ultérieurement.

    • AndCondition, NotCondition et OrCondition : peuvent être imbriquées, mais doivent être regroupées correctement. Les liaisons XML supérieures ne doivent avoir qu’une seule condition, et elles peuvent être regroupées en interne.

Identification basée sur le décalage

Cette approche est très facile à utiliser et crée également les liaisons.

Notes

Cette approche est inutilisable lorsque l’arborescence de contrôle change constamment d’emplacement, car elle utilise le numéro de position dans l’arborescence d’interface utilisateur pour identifier les contrôles. Si la position de l’arborescence d’interface utilisateur est modifiée de manière dynamique, cette approche est inutilisable.

L’attribut MatchCount sera utilisé comme niveau de décalage. Les conditions seront fournies si nécessaire.

Voici un exemple de format de liaison.

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

Voir aussi

UIADDA
Utiliser des adaptateurs DDA

Unified Service Desk 2.0

© 2017 Microsoft. Tous droits réservés. Copyright