FindControl Operation in Unified Service Desk
In diesem Artikel werden die beiden Ansätze bechrieben, die verwendet werden können, um ein Benutzeroberflächen (UI)- Steuerelement zu identifizieren.
Strukturbasierte Identifizierung der Benutzeroberfläche
Diese Methode erfasst die vollständige Strukturdarstellung des Steuerelements. Es verwendet alle Steuerelementeigenschaften, um zum endgültigen Steuerelement durchzulaufen.
Folgendes ist ein Beispiel-Bindungsformat:
<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>
Die Tags werden wie folgt erklärt:
<UIElement>
- Dies ist der Stammknoten, der das AttributName
hat:Name
- Erfasst den Anzeigenamen, der in der DDA verwendet werden soll.StartFromDesktop
- Gibt an, ob die Suche vom Desktop oder vom aktuellen Übergeordneten aus erfolgt.ParentUIElement
- Gibt an, welchesUIElement
als übergeordnetes Steuerelement verwendet werden soll. Für die Schaltflächen muss "Bereich" alsParentUIElement
angegeben werden. Dies ist hilfreich, wenn Sie manuell eine Bindung erstellen.MatchCount
- Legt die Anzahl der Treffer fest. Wenn mehr als ein Steuerelement dieselben Eigenschaften hat, wird es auf Grundlage dieses Index identifiziert.
<UIObject>
- Dieser Knoten erfasst die komplette Baumstruktur, um das Steuerelement zu identifizieren:<PropertyCondition Name="Name">CPCategoryPanel</PropertyCondition>
- Erfasst die Eigenschaftsbedingung, nach der das Steuerelement gesucht wird. Dieser wird inAndCondition/OrCondition/NotCondition
gruppiert. Wenn es nur einePropertyCondition
gibt, sollte es im Stammknoten ohne Gruppierung angezeigt werden.Name
steht für den Namen der Eigenschaft des Steuerelements.AndCondition
,OrCondition
undNotCondition
- Gruppierungsbedingungen für die Eigenschaftsbedingung.<AndCondition Id="SearchCondition">
- Erfasst die Eigenschaftsbedingung, mit der das Steuerelement identifiziert werden kann.Id
steht für die ID der Bedingungsliste. MehrereAndCondition
können verwendet werden, wenn die Gruppierung später bereitgestellt wird.<OrCondition Id="SearchCondition">
- Erfasst die Eigenschaftsbedingung, mit der das Steuerelement identifiziert werden kann.Id
steht für die ID der Bedingungsliste. MehrereOrCondition
können verwendet werden, wenn die Gruppierung später bereitgestellt wird.<NotCondition Id="SearchCondition">
- Erfasst die Eigenschaftsbedingung, mit der das Steuerelement identifiziert werden kann.Id
steht für die ID der Bedingungsliste. MehrereNotCondition
können verwendet werden, wenn die Gruppierung später bereitgestellt wird.AndCondition
,NotCondition
undOrCondition
- Können verschachtelt werden, sollten aber korrekt gruppiert werden. Die obersten XML-Bindungen sollten nur eine Bedingung haben, und sie kann intern gruppiert werden.
Offset-basierte Identifizierung
Diese Methode ist sehr einfach zu verwenden und baut auch die Bindungen auf.
Notiz
Diese Methode kann nicht verwendet werden, wenn der Strukturort des Steuerelements sich ändert, da er die Positionszahl in der Benutzeroberflächen-Struktur verwendrt ,um die Steuerelemente zu ermitteln. Wenn die Benutzeroberflächen-Strukturposition dynamisch geändert wird, ist dieser Methode nicht verwendbar.
Das Attribut MatchCount
wird als Offset-Ebene verwendet. Bedingungen werden bei Bedarf verfügbar gemacht.
Folgendes ist ein Beispiel-Bindungsformat.
<UIElement name="textBoxTabPage1">
<UIObject MatchCount="2">
<UIObject MatchCount="1">
<UIObject MatchCount="2">
</UIObject>
</UIObject>
</UIObject>
</UIElement>