Patrones de controles de UI Automation para clientes
Artículo
Nota
Esta documentación está dirigida a los desarrolladores de .NET Framework que quieran usar las clases de automatización de la interfaz de usuario administradas definidas en el espacio de nombres System.Windows.Automation. Para ver la información más reciente acerca de la automatización de la interfaz de usuario, consulte Windows Automation API: automatización de la interfaz de usuario.
Este tema es una introducción a los patrones de control para clientes de automatización de la interfaz de usuario. Incluye información que explica cómo un cliente de automatización de la interfaz de usuario puede usar los patrones de control para tener acceso a la información sobre la interfaz de usuario.
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 un AutomationElement para determinar qué patrones de control son compatibles y estar seguros del comportamiento del control.
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 un grupo de patrones en el AutomationElement. Sin embargo, resulta 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.
// 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;
}
Además de los métodos GetPropertyValue, los valores de propiedad se pueden recuperar mediante los descriptores de acceso de Common Language Runtime (CLR) para acceder a las propiedades de automatización de la interfaz de usuario 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 (miniaturas, mosaicos, 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 Media Player de Microsoft Windows.
Los controles que implementan tipos de controles personalizados pueden tener cualquier conjunto de patrones de control que sea necesario para representar su funcionalidad.