Información general acerca de los patrones de control de automatización de la interfaz de usuario
Actualización: noviembre 2007
Este tema es una introducción a los patrones de control de Automatización de la interfaz de usuario de Microsoft. Los patrones de control proporcionan una manera de categorizar y exponer la funcionalidad de un control independientemente de su tipo o apariencia.
La Automatización de la interfaz de usuario usa patrones de control para representar comportamientos de control comunes. Por ejemplo, se usa el patrón de control Invoke para los controles que se pueden invocar (como los botones) y el patrón de control Scroll para los controles que tienen barras de desplazamiento (como cuadros de lista, vistas de lista o cuadros combinados). Dado que cada patrón de control representa una funcionalidad independiente, se pueden combinar para describir toda la funcionalidad que admite un control determinado.
Nota: |
---|
Los controles agregados (integrados con controles secundarios que proporcionan la interfaz de usuario (UI) para la funcionalidad expuesta por el control primario) deben implementar todos los patrones de control normalmente asociados a cada elemento secundario. A su vez, los controles secundarios no tienen que implementar esos mismos patrones de control. |
Este tema contiene las secciones siguientes.
- Componentes de los patrones de control de automatización de la interfaz de usuario
- Proveedores y clientes de automatización de la interfaz de usuario
- Patrones de control dinámicos
- Clases e interfaces de patrones de control
- Temas relacionados
Componentes de los patrones de control de automatización de la interfaz de usuario
Los patrones de control admiten los métodos, las propiedades, los eventos y las relaciones que son necesarios para definir una parte discreta de la funcionalidad que está disponible en un control.
La relación entre un elemento de Automatización de la interfaz de usuario y su elemento primario, sus elementos secundarios y sus elementos relacionados describe la estructura del elemento en el árbol de Automatización de la interfaz de usuario.
Los métodos permiten a los clientes de Automatización de la interfaz de usuario manipular el control.
Las propiedades y los eventos proporcionan información acerca de la funcionalidad del patrón de control, así como información acerca del estado del control.
Los patrones de control se relacionan con la interfaz de usuario como las interfaces se relacionan con los objetos del Modelo de objetos componentes (COM). En COM, puede consultar un objeto para averiguar qué interfaces admite y, a continuación, usar esas interfaces para tener acceso a funcionalidad. En la Automatización de la interfaz de usuario, los clientes de Automatización de la interfaz de usuario pueden preguntar a un control qué patrones de control admite y, a continuación, interactuar con el control a través de las propiedades, los métodos, los eventos y las estructuras expuestos por los patrones de control admitidos. Por ejemplo, para un cuadro de edición de varias líneas, los proveedores de Automatización de la interfaz de usuario implementan IScrollProvider. Cuando un cliente sabe que AutomationElement admite el patrón de control ScrollPattern, puede usar las propiedades, los métodos y los eventos expuestos por ese patrón de control para manipular el control o tener acceso a información sobre el mismo.
Proveedores y clientes de automatización de la interfaz de usuario
Los proveedores de Automatización de la interfaz de usuario implementan patrones de control para exponer el comportamiento adecuado de una parte específica de la funcionalidad que admite el control.
Los clientes de Automatización de la interfaz de usuario obtienen acceso a los métodos y las propiedades de las clases de patrones de control de Automatización de la interfaz de usuario y los usan para obtener información acerca de la interfaz de usuario o para manipular la interfaz de usuario. Estas clases de patrones de control se encuentran en el espacio de nombres System.Windows.Automation (por ejemplo, InvokePattern y SelectionPattern).
Los clientes usan métodos AutomationElement (como AutomationElement.GetCurrentPropertyValue o AutomationElement.GetCachedPropertyValue) o descriptores de acceso de common language runtime (CLR) para tener acceso a las propiedades de Automatización de la interfaz de usuario en un patrón. Cada clase de patrón de control tiene un miembro de campo (por ejemplo, InvokePattern.Pattern o SelectionPattern.Pattern) que identifica a ese patrón de control y se puede pasar como parámetro a GetCachedPattern o GetCurrentPattern a fin de recuperar ese patrón para un AutomationElement.
Patrones de control dinámicos
Algunos controles no siempre admiten el mismo conjunto de patrones de control. Se considera que se admiten los patrones de control cuando están disponibles para un cliente de Automatización de la interfaz de usuario. Por ejemplo, un cuadro de edición de varias líneas habilita el desplazamiento vertical sólo cuando contiene más líneas de texto de las que se pueden mostrar en su área visible. El desplazamiento se deshabilita cuando se quita texto suficiente y ya no es necesario desplazarse. En este ejemplo, el patrón de control ScrollPattern se admite dinámicamente en función del estado actual del control (cuánto texto hay en el cuadro de edición).
Clases e interfaces de patrones de control
En la tabla siguiente se describen los patrones de control de Automatización de la interfaz de usuario. En la tabla se muestran también las clases utilizadas por los clientes de Automatización de la interfaz de usuario para tener acceso a los patrones de control, así como las interfaces utilizadas por los proveedores de Automatización de la interfaz de usuario para implementarlos.
Clase de patrón de control |
Interfaz de proveedor |
Descripción |
---|---|---|
Se usa para controles que se pueden acoplar en un contenedor de acoplamiento. Por ejemplo, barras de herramientas o paletas de herramientas. |
||
Se usa para controles que se pueden expandir o contraer. Por ejemplo, los elementos de menú de una aplicación, como el menú Archivo. |
||
Se usa para controles que admiten funcionalidad de cuadrícula, como la modificación del tamaño y el desplazamiento a una celda especificada. Por ejemplo, la vista de iconos grandes del Explorador de Windows o las tablas simples sin encabezados de Microsoft Word. |
||
Se usa para controles que tienen celdas dentro de cuadrículas. Cada una de las celdas debería admitir el patrón GridItem. Por ejemplo, cada celda de la vista de detalles del Microsoft Windows Explorer. |
||
Se usa para controles que se pueden invocar, como un botón. |
||
Se usa para controles que pueden cambiar entre varias representaciones del mismo conjunto de información, datos o elementos secundarios. Por ejemplo, un control de vista de lista donde los datos están disponibles como imágenes en miniatura, en mosaico, como iconos, como una lista o con detalles. |
||
Se usa para controles que tienen un intervalo de valores que se puede aplicar al control. Por ejemplo, un control de número que contiene años podría tener un intervalo de 1900 a 2010, mientras que otro control de número que presenta meses tendría un intervalo de 1 a 12. |
||
Se usa para controles que se pueden desplazar. Por ejemplo, un control que tiene barras de desplazamiento que están activas cuando hay más información de la que se puede mostrar en su área visible. |
||
Se usa para controles que tienen elementos individuales en una lista que se desplaza. Por ejemplo, un control de lista que tiene elementos individuales en la lista de desplazamiento, como un control de cuadro combinado. |
||
Se usa para controles contenedores de selecciones. Por ejemplo, cuadros de lista y cuadros combinados. |
||
Se usa para elementos individuales en controles contenedores de selecciones, como cuadros de lista y cuadros combinados. |
||
Se usa para controles que tienen una cuadrícula e información de encabezado. Por ejemplo, hojas de cálculo de Microsoft Excel. |
||
Se usa para los elementos de una tabla. |
||
Se usa para controles de edición y documentos que exponen información textual. |
||
Se usa para controles donde se puede alternar el estado. Por ejemplo, casillas y elementos de menú que pueden activarse. |
||
Se usa para controles que se pueden cambiar de tamaño, mover y girar. Los usos típicos del patrón de control Transform se encuentran en diseñadores, formularios, editores gráficos y aplicaciones de dibujo. |
||
Permite que los clientes obtengan o establezcan un valor en controles que no admiten un intervalo de valores. Por ejemplo, un selector de fecha y hora. |
||
Expone información específica de las ventanas, un concepto fundamental para el sistema operativo Microsoft Windows. Algunos ejemplos de controles que son ventanas son las ventanas de la aplicación de nivel superior (Microsoft Word, Microsoft Windows Explorer, etc.), las ventanas secundarias de la interfaz de múltiples documentos (MDI) y los cuadros de diálogo. |
Vea también
Conceptos
UI Automation Control Patterns for Clients
Control Pattern Mapping for UI Automation Clients