Compartir a través de


Información general sobre las propiedades de automatización de la interfaz de usuario

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:

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

Identificador de propiedad Property Access
IsDockPatternAvailableProperty GetSupportedPatterns
IsExpandCollapsePatternAvailableProperty GetSupportedPatterns
IsGridItemPatternAvailableProperty GetSupportedPatterns
IsGridPatternAvailableProperty GetSupportedPatterns
IsInvokePatternAvailableProperty GetSupportedPatterns
IsMultipleViewPatternAvailableProperty GetSupportedPatterns
IsRangeValuePatternAvailableProperty GetSupportedPatterns
IsScrollItemPatternAvailableProperty GetSupportedPatterns
IsScrollPatternAvailableProperty GetSupportedPatterns
IsSelectionItemPatternAvailableProperty GetSupportedPatterns
IsSelectionPatternAvailableProperty GetSupportedPatterns
IsTableItemPatternAvailableProperty GetSupportedPatterns
IsTablePatternAvailableProperty GetSupportedPatterns
IsTextPatternAvailableProperty GetSupportedPatterns
IsTogglePatternAvailableProperty GetSupportedPatterns
IsTransformPatternAvailableProperty GetSupportedPatterns
IsValuePatternAvailableProperty GetSupportedPatterns
IsWindowPatternAvailableProperty GetSupportedPatterns

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