Compartir a través de


Patrones de controles de UI Automation para clientes

NotaNota

Esta documentación está dirigida a desarrolladores de .NET Framework que desean usar las clases administradas de UI Automation definidas en el espacio de nombres System.Windows.Automation.Para obtener información actualizada sobre UI Automation, vea Windows Automation API: UI Automation.

En esta introducción se describen los patrones de control de los clientes de Automatización de la interfaz de usuario. Se incluye información acerca de cómo un cliente de Automatización de la interfaz de usuario puede usar patrones de control para tener acceso a información de la user interface (UI).

Los patrones de control proporcionan una manera de categorizar y exponer la funcionalidad de un control independientemente de su tipo o apariencia. Los clientes de Automatización de la interfaz de usuario pueden examinar AutomationElement para determinar qué patrones de control se admiten y asegurarse de cuál será su funcionamiento.

Para obtener una lista completa de los patrones de control, consulte Información general acerca de los patrones de control de automatización de la interfaz de usuario.

Este tema contiene las secciones siguientes.

  • Obtención de patrones de control
  • Recuperación de propiedades en patrones de control
  • Controles con patrones variables
  • Temas relacionados

Obtención de patrones de control

Los clientes recuperan un patrón de control de un AutomationElement mediante una llamada a AutomationElement.GetCachedPattern o AutomationElement.GetCurrentPattern.

Los clientes pueden usar el método GetSupportedPatterns o una propiedad IsPatternAvailable individual (por ejemplo, IsTextPatternAvailableProperty) para determinar si se admite un patrón o grupo de patrones en el AutomationElement. Sin embargo, es más eficaz intentar obtener el patrón de control y comprobar si hay una referencia null que comprobar las propiedades compatibles y recuperar el patrón de control, ya que se generan menos llamadas entre procesos.

En el ejemplo siguiente se muestra cómo obtener un patrón de control TextPattern de un AutomationElement.

// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

targetTextPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

if (targetTextPattern == null)
{
    Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
    return;
}

Recuperación de propiedades en patrones de control

Para recuperar los valores de propiedad en los patrones de control, los clientes pueden llamar a AutomationElement.GetCachedPropertyValue o AutomationElement.GetCurrentPropertyValue y convertir el objeto devuelto al tipo adecuado. Para obtener más información acerca de las propiedades de UI Automation, consulte Propiedades de UI Automation para clientes.

Además de con los métodos GetPropertyValue, los valores de propiedad se pueden recuperar a través de los descriptores de acceso de common language runtime (CLR) para tener acceso a las propiedades de UI Automation en un patrón.

Controles con patrones variables

Algunos tipos de controles admiten patrones diferentes en función de su estado o de la manera en la que se usan. Algunos ejemplos de controles que pueden tener patrones variables son las vistas de lista (imágenes en miniatura, mosaico, iconos, lista, detalles), los gráficos de Microsoft Excel (circulares, de líneas, de barras, valores de celda con fórmulas), el área de documento de Microsoft Word (Normal, Diseño Web, Esquema, Diseño de impresión, Vista previa de impresión) y las máscaras de Microsoft Windows Media Player.

Los controles que implementan tipos de controles personalizados pueden tener cualquier conjunto de patrones de control que requieran para representar su funcionalidad.

Vea también

Tareas

Llamar a un control utilizando la UI Automation

Obtener el estado de alternancia de una casilla mediante UI Automation

ValuePattern Insert Text Sample

TextPattern Search and Selection Sample

InvokePattern, ExpandCollapsePattern, and TogglePattern Sample

Conceptos

Asignación de patrones de controles para clientes de UI Automation

Otros recursos

Patrones de control de UI Automation

Modelo de texto de UI Automation