Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Esta documentación está pensada para desarrolladores de .NET Framework que desean usar las clases de automatización de la interfaz de usuario administradas definidas en el espacio de nombres System.Windows.Automation. Para obtener la información más reciente sobre la automatización de la interfaz de usuario, consulte API de Windows Automation: 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 a las aplicaciones cliente de automatización de la interfaz de usuario detectar información sobre partes de la interfaz de usuario (UI), especialmente los controles, incluidos los datos estáticos y dinámicos.
En esta sección se proporciona información general sobre las propiedades de Automatización de la interfaz de usuario de Microsoft. En los temas siguientes se proporciona información más específica:
Propiedades de automatización de la interfaz de usuario para clientes
Implementación del proveedor de automatización de la interfaz de usuario deServer-Side
Identificadores de propiedad
Cada propiedad se identifica mediante un número y un nombre. Los nombres de las propiedades solo se usan para la depuración y el diagnóstico. Los proveedores usan los identificadores numéricos para identificar las solicitudes de propiedades entrantes. Sin embargo, las aplicaciones cliente solo usan AutomationProperty, que encapsula el número y el nombre, para identificar las propiedades que desean recuperar.
AutomationProperty Los objetos que representan propiedades concretas están disponibles como campos en varias clases. Por motivos de seguridad, los proveedores de automatización de la interfaz de usuario obtienen estos objetos de un conjunto independiente de clases contenidas en Uiautomationtypes.dll.
En la tabla siguiente se clasifican las propiedades por las clases que contienen los AutomationPropertyidentificadores.
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 puede expandirse y contraerse | ExpandCollapsePattern | ExpandCollapsePatternIdentifiers |
Propiedades de un elemento de una cuadrícula | GridItemPattern | GridItemPatternIdentifiers |
Propiedades de una cuadrícula | GridPattern | GridPatternIdentifiers |
Vista actual y compatible de un elemento que tiene varias vistas | MultipleViewPattern | MultipleViewPatternIdentifiers |
Propiedades de un elemento que se mueve a través de un intervalo de valores, como un control deslizante | RangeValuePattern | RangeValuePatternIdentifiers |
Propiedades de una ventana de desplazamiento | 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 columna y fila de un elemento de 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 |
Funcionalidades de un elemento que se puede mover, girar o cambiar el tamaño | TransformPattern | TransformPatternIdentifiers |
Capacidades de lectura y escritura y valor de un elemento que tiene un valor | ValuePattern | ValuePatternIdentifiers |
Funcionalidades y estado de una ventana | WindowPattern | WindowPatternIdentifiers |
Propiedades por categoría
En las tablas siguientes se clasifican las propiedades cuyos identificadores se encuentran en AutomationElement y AutomationElementIdentifiers. Estas propiedades son comunes a todos los controles. Es probable que todos ellos, pero algunos de ellos sean estáticos durante la vigencia de la aplicación del proveedor; la mayoría de las propiedades dinámicas están asociadas a patrones de control.
La columna Acceso a la propiedad enumera cualquier otro accesorio para cada propiedad, además de GetCurrentPropertyValue y GetCachedPropertyValue. Para obtener más información sobre cómo obtener propiedades en una aplicación cliente, consulte Propiedades de automatización de la interfaz de usuario para clientes.
Nota:
Para obtener información específica sobre cada propiedad, siga el vínculo de la columna Acceso a propiedades.
Características de visualización
Identificador de propiedad | Property Access |
---|---|
BoundingRectangleProperty | BoundingRectangle |
CultureProperty | n/a |
HelpTextProperty | HelpText |
IsOffscreenProperty | IsOffscreen |
OrientationProperty | Orientation |
Tipo de elemento
Identificador de propiedad | Property Access |
---|---|
ControlTypeProperty | ControlType |
IsContentElementProperty | IsContentElement |
IsControlElementProperty | IsControlElement |
ItemTypeProperty | ItemType |
LocalizedControlTypeProperty | LocalizedControlType |
Identificación
Identificador de propiedad | Property Access |
---|---|
AutomationIdProperty | AutomationId |
ClassNameProperty | ClassName |
FrameworkIdProperty | FrameworkId |
LabeledByProperty | LabeledBy |
NameProperty | Name |
ProcessIdProperty | ProcessId |
RuntimeIdProperty | GetRuntimeId |
NativeWindowHandleProperty | NativeWindowHandle |
Interacción
Identificador de propiedad | Property Access |
---|---|
AcceleratorKeyProperty | AcceleratorKey |
AccessKeyProperty | AccessKey |
ClickablePointProperty | GetClickablePoint |
HasKeyboardFocusProperty | HasKeyboardFocus |
IsEnabledProperty | IsEnabled |
IsKeyboardFocusableProperty | IsKeyboardFocusable |
Compatibilidad con patrones
Varios
Identificador de 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 ha cambiado un valor de propiedad para que pueda actualizar su memoria 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 propiedad generan eventos; eso depende completamente de la implementación del proveedor de automatización de UI para el elemento. Por ejemplo, los proveedores de proxy estándar para los cuadros de lista no generan un evento cuando cambia el SelectionProperty. En este caso, la aplicación debe estar en su lugar a la escucha de un elemento ElementSelectedEvent.
Los clientes escuchan eventos mediante la suscripción a ellos. Suscribirse a eventos significa crear métodos delegados que puedan controlar los eventos y, a continuación, pasar 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. En particular, para los eventos de cambio de propiedad, los clientes deben implementar AutomationPropertyChangedEventHandler.
Consulte también
- Almacenar en caché en los clientes de automatización de la interfaz de usuario
- Propiedades de automatización de la interfaz de usuario para clientes
- Implementación del proveedor de automatización de la interfaz de usuario deServer-Side
- Buscar un elemento de automatización de la interfaz de usuario basado en una condición de propiedad
- Devolución de propiedades por parte de un proveedor de UI Automation
- Generar eventos desde un proveedor de automatización de la interfaz de usuario