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.
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
La experiencia del usuario de la aplicación suele definir el éxito de la aplicación. Esta ruta de aprendizaje se centrará en cómo proporcionar la mejor navegación para la aplicación y en cómo compilar la mejor interfaz de usuario con temas, iconos, imágenes, personalización, factores de forma diferentes y controles.