Operación FindControl en Unified Service Desk
En este tema se describen los dos métodos que se pueden usar para identificar un control (UI) de la interfaz de usuario.
Identificación basada en árbol de la interfaz de usuario
Este método captura de la estructura de árbol de control completa. Usa todas las propiedades de control para llegar hasta el control final.
El siguiente es un formato de enlace de ejemplo:
<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>
Las etiquetas se explican de este modo:
<UIElement>
- Es el nodo raíz, que tiene el atributoName
:Name
- Captura el nombre descriptivo que se usará en el DDA.StartFromDesktop
- Especifica si búsqueda es desde el escritorio o el elemento primario actual.ParentUIElement
– Especifica laUIElement
que debe tomarse como control principal. Para los botones, "panel" debe especificarse comoParentUIElement
. Esto le resultará útil cuando cree un enlace manualmente.MatchCount
- Especifica el recuento de correspondencia. Si más de un control tiene las mismas propiedades, se identificará basándose en el índice.
<UIObject>
- Este nodo captura de la estructura de árbol completa para identificar el control:<PropertyCondition Name="Name">CPCategoryPanel</PropertyCondition>
- Captura la condición de propiedad para la que se busca el control. Esto se agrupará enAndCondition/OrCondition/NotCondition
. Si hay una solaPropertyCondition
, debe presentarse en el nodo raíz sin ninguna agrupación.Name
representa el nombre de la propiedad de control.AndCondition
,OrCondition
, yNotCondition
- Condiciones de agrupación para la condición de propiedad.<AndCondition Id="SearchCondition">
- Captura la condición de propiedad con la que se puede identificar el control.Id
representa el Id. de la lista de condición. Más de unAndCondition
puede usarse cuando la agrupación se proporciona más adelante.<OrCondition Id="SearchCondition">
- Captura la condición de propiedad con la que se puede identificar el control.Id
representa el Id. de la lista de condición. Más de unOrCondition
puede usarse cuando la agrupación se proporciona más adelante.<NotCondition Id="SearchCondition">
- Captura la condición de propiedad con la que se puede identificar el control.Id
representa el Id. de la lista de condición. Más de unNotCondition
puede usarse cuando la agrupación se proporciona más adelante.AndCondition
,NotCondition
, yOrCondition
- Pueden anidarse, pero deben agruparse correctamente. Los enlaces XML principales solo deben tener una condición, y pueden agruparse internamente.
Identificación basada en desplazamiento
Este método es muy fácil de usar y también genera los enlaces.
Nota
Este método no puede utilizarse cuando la ubicación del árbol de control sigue cambiando, ya que usa el número de posición en el árbol de la interfaz de usuario para identificar los controles. Si la ubicación del árbol de la interfaz de usuario cambia dinámicamente, este método no se pueda usar.
El atributoMatchCount
se usará como nivel de desplazamiento. Se proporcionarán condiciones si es necesario.
A continuación se muestra un formato de enlace de ejemplo.
<UIElement name="textBoxTabPage1">
<UIObject MatchCount="2">
<UIObject MatchCount="1">
<UIObject MatchCount="2">
</UIObject>
</UIObject>
</UIObject>
</UIElement>