Información general acerca de las propiedades de UI Automation
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.
Los proveedores de Automatización de la interfaz de usuario exponen las propiedades de los elementos de Automatización de la interfaz de usuario de Microsoft. Estas propiedades permiten que las aplicaciones de cliente de Automatización de la interfaz de usuario detecten información sobre partes de la interfaz de usuario, especialmente los controles, e incluidos los datos estáticos y dinámicos.
En esta sección se ofrece una amplia introducción a las propiedades de Automatización de la interfaz de usuario de Microsoft. En los temas siguientes se proporciona información más específica:
Identificadores de propiedad
Cada propiedad se identifica mediante un número y un nombre. Los nombres de las propiedades se utilizan únicamente para la depuración y el diagnóstico. Los proveedores usan los identificadores numéricos para identificar las solicitudes de propiedad entrantes. Las aplicaciones cliente, sin embargo, solo utilizan AutomationProperty, que encapsula el número y el nombre, para identificar las propiedades que quieren recuperar.
Los objetosAutomationProperty que representan propiedades determinadas están disponibles como campos en diversas clases. Por motivos de seguridad, los proveedores de Automatización de la interfaz de usuario obtienen estos objetos de un conjunto independiente de clases que están incluidas en Uiautomationtypes.dll.
En la tabla siguiente se clasifican las propiedades por las clases que contienen los identificadores AutomationProperty.
Tipos de propiedades | Los clientes obtienen los identificadores de | Los proveedores obtienen los identificadores de |
---|---|---|
Propiedades comunes a todos los elementos (consulte las tablas siguientes) | AutomationElement | AutomationElementIdentifiers |
Posición de una ventana de acoplamiento | DockPattern | DockPatternIdentifiers |
Estado de un elemento que se puede expandir y contraer | ExpandCollapsePattern | ExpandCollapsePatternIdentifiers |
Propiedades de un elemento en una cuadrícula | GridItemPattern | GridItemPatternIdentifiers |
Propiedades de una cuadrícula | GridPattern | GridPatternIdentifiers |
Vista actual y admitida de un elemento que tiene varias vistas | MultipleViewPattern | MultipleViewPatternIdentifiers |
Propiedades de un elemento que se desplaza en un intervalo de valores, como un control deslizante | RangeValuePattern | RangeValuePatternIdentifiers |
Propiedades de una ventana desplazable | ScrollPattern | ScrollPatternIdentifiers |
Estado y contenedor de un elemento que se puede seleccionar, como en una lista | SelectionItemPattern | SelectionItemPatternIdentifiers |
Propiedades de un control que contiene elementos de selección | SelectionPattern | SelectionPatternIdentifiers |
Encabezados de fila y columna de un elemento en una tabla | TableItemPattern | TableItemPatternIdentifiers |
Encabezados de fila y columna, y orientación, de una tabla | TablePattern | TablePatternIdentifiers |
Estado de un control de alternancia | TogglePattern | TogglePatternIdentifiers |
Capacidades de un elemento que se pueden mover, girar o cambiar de tamaño | TransformPattern | TransformPatternIdentifiers |
Capacidades de lectura y escritura y valor de un elemento que tiene un valor | ValuePattern | ValuePatternIdentifiers |
Capacidades y estado de una ventana | WindowPattern | WindowPatternIdentifiers |
Propiedades por categoría
En las siguientes tablas se clasifican las propiedades cuyos identificadores se encuentran en AutomationElement y AutomationElementIdentifiers. Estas propiedades son comunes para todos los controles. Salvo algunas de ellas, todas suelen ser estáticas a lo largo de la duración de la aplicación de proveedor; la mayoría de propiedades dinámicas están asociadas con patrones de control.
En la columna Property Access se enumeran los otros descriptores de acceso de cada propiedad, además de GetCurrentPropertyValue y GetCachedPropertyValue. Para más información sobre la obtención de propiedades en una aplicación cliente, consulte UI Automation Properties for Clients.
Nota
Para obtener información específica sobre cada propiedad, siga el vínculo de la columna Property Access .
Características de presentación
Identificador de la propiedad | Property Access |
---|---|
BoundingRectangleProperty | BoundingRectangle |
CultureProperty | N/D |
HelpTextProperty | HelpText |
IsOffscreenProperty | IsOffscreen |
OrientationProperty | Orientation |
Tipo de elemento
Identificador de la propiedad | Property Access |
---|---|
ControlTypeProperty | ControlType |
IsContentElementProperty | IsContentElement |
IsControlElementProperty | IsControlElement |
ItemTypeProperty | ItemType |
LocalizedControlTypeProperty | LocalizedControlType |
Identificación
Identificador de la propiedad | Property Access |
---|---|
AutomationIdProperty | AutomationId |
ClassNameProperty | ClassName |
FrameworkIdProperty | FrameworkId |
LabeledByProperty | LabeledBy |
NameProperty | Name |
ProcessIdProperty | ProcessId |
RuntimeIdProperty | GetRuntimeId |
NativeWindowHandleProperty | NativeWindowHandle |
Interacción
Identificador de la propiedad | Property Access |
---|---|
AcceleratorKeyProperty | AcceleratorKey |
AccessKeyProperty | AccessKey |
ClickablePointProperty | GetClickablePoint |
HasKeyboardFocusProperty | HasKeyboardFocus |
IsEnabledProperty | IsEnabled |
IsKeyboardFocusableProperty | IsKeyboardFocusable |
Compatibilidad con patrones
Varios
Identificador de la propiedad | Property Access |
---|---|
IsRequiredForFormProperty | IsRequiredForForm |
IsPasswordProperty | IsPassword |
ItemStatusProperty | ItemStatus |
Localización
Los proveedores de Automatización de la interfaz de usuario deben presentar las siguientes propiedades en el idioma del sistema operativo:
Propiedades y eventos
El concepto de eventos de cambio de propiedad está estrechamente relacionado con las propiedades de Automatización de la interfaz de usuario. Para las propiedades dinámicas, la aplicación cliente necesita una manera de saber que un valor de propiedad ha cambiado, por lo que puede actualizar su caché de información o reaccionar a la nueva información de alguna otra manera.
Los proveedores generan eventos cuando cambia algo en la interfaz de usuario. Por ejemplo, si se selecciona o se desactiva una casilla, la implementación del proveedor del patrón Toggle genera un evento de cambio de propiedad. Los proveedores pueden generar eventos de forma selectiva, dependiendo de si hay clientes en escucha de eventos o en escucha de eventos específicos.
No todos los cambios de propiedades generan eventos; esto depende totalmente de la implementación del proveedor de Automatización de la interfaz de usuario del elemento. Por ejemplo, los proveedores de proxy estándares para cuadros de lista no generan un evento cuando el elemento SelectionProperty cambia. En este caso, la aplicación debe estar en su lugar a la escucha de un elemento ElementSelectedEvent.
Los clientes se ponen a la escucha de eventos suscribiéndose a ellos. La suscripción a eventos supone la creación de métodos delegados que pueden controlar los eventos y, después, pasan los métodos a Automatización de la interfaz de usuario junto con los eventos específicos que se tratarán en esos métodos. Para los eventos de cambio de propiedad en concreto, los clientes deben implementar AutomationPropertyChangedEventHandler.
Consulte también
- Almacenar en caché en los clientes de automatización de la interfaz de usuario
- Propiedades de UI Automation para clientes
- Implementación del proveedor de UI Automation en el servidor
- Búsqueda de un elemento de Automatización de la interfaz de usuario basada en una condición de propiedad
- Devolución de propiedades por parte de un proveedor de UI Automation
- Provocar eventos desde un proveedor de UI Automation