Share via


Compatibilidad de UI Automation para el tipo de control ListItem

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.

En este tema se ofrece información sobre la compatibilidad de UI Automation con el tipo de control ListItem. En Automatización de la interfaz de usuario, un tipo de control es un conjunto de condiciones que un control debe cumplir para poder usar la propiedad ControlTypeProperty. Las condiciones incluyen directrices específicas para la estructura de árbol de Automatización de la interfaz de usuario, los valores de propiedad de Automatización de la interfaz de usuario y los patrones de control.

Los controles de elemento de lista son un ejemplo de controles que implementan el tipo de control ListItem.

En las secciones siguientes se definen la estructura de árbol, las propiedades, los patrones de control y los eventos para el tipo de control ListItem de Automatización de la interfaz de usuario necesarios. Los requisitos de Automatización de la interfaz de usuario se aplican a todos los controles de lista, ya sea Windows Presentation Foundation (WPF), Win32 o Windows Forms.

Estructura de árbol de Automatización de la interfaz de usuario necesaria

En la tabla siguiente se describe la vista de control y la vista de contenido del árbol de Automatización de la interfaz de usuario que pertenece a los controles de elemento de lista y se describe lo que puede incluirse en cada vista. Para más información sobre el árbol de Automatización de la interfaz de usuario, consulte Introducción al árbol de Automatización de la interfaz de usuario.

Vista de control Vista de contenido
ListItem

- Image (0 o más)
- Texto (0 o más)
-Edición (0 o más)
ListItem

Los elementos secundarios de un control de elemento de lista en la vista de contenido del árbol de Automatización de la interfaz de usuario siempre deben ser "0". Si la estructura del control es tal que contiene otros elementos debajo del elemento de lista, debería cumplir los requisitos para el tipo de control Compatibilidad de Automatización de la interfaz de usuario para el tipo de control TreeItem.

Propiedades de Automatización de la interfaz de usuario necesarias

En la tabla siguiente se muestran las propiedades de Automatización de la interfaz de usuario cuyo valor o definición es especialmente relevante para los controles de elemento de lista. Para más información sobre las propiedades de Automatización de la interfaz de usuario, consulte Propiedades de Automatización de la interfaz de usuario: Propiedades para clientes.

Propiedad de automatización de interfaz de usuario Valor Notas
AutomationIdProperty Vea las notas. El valor de esta propiedad debe ser único en todos los controles de una aplicación.
BoundingRectangleProperty Vea las notas. El valor de esta propiedad debe incluir el área del contenido de imagen y texto del elemento de lista.
ClickablePointProperty Depende Si el control de lista tiene un punto interactivo (un punto en el que puede hacer clic para que la lista reciba el enfoque), ese punto se debe exponer a través de esta propiedad. Si los elementos de lista descendientes abarcan completamente el control de lista, este generará una NoClickablePointException para indicar que el cliente debe solicitar un elemento dentro del control de lista para un punto donde hacer clic.
NameProperty Vea las notas. El valor de la propiedad del nombre de un control de elemento de lista procede del contenido del texto del elemento.
LabeledByProperty Vea las notas. Si hay una etiqueta de texto estático, esta propiedad debe exponer una referencia a ese control.
ControlTypeProperty ListItem Este valor es el mismo para todos los marcos de trabajo de la interfaz de usuario.
LocalizedControlTypeProperty "elemento de lista" Cadena localizada que corresponde al tipo de control ListItem.
IsContentElementProperty True El control de lista siempre se incluye en la vista de contenido del árbol de Automatización de la interfaz de usuario.
IsControlElementProperty True El control de lista siempre se incluye en la vista de control del árbol de Automatización de la interfaz de usuario.
IsKeyboardFocusableProperty True Si el contenedor puede aceptar la entrada de teclado, este valor de propiedad debe ser verdadero.
HelpTextProperty "" El texto de ayuda para los controles de lista debe explicar por qué se le solicita al usuario que elija una opción en una lista de opciones, que es normalmente el mismo tipo de información presentada a través de una información sobre herramientas. Por ejemplo, "Seleccione un elemento para establecer la resolución de pantalla del monitor".
ItemTypeProperty Depende Esta propiedad se debe exponer para los controles de elemento de lista que representan un objeto subyacente. Estos controles de elemento de lista suelen tener un icono asociado al control que los usuarios se asocian con el objeto subyacente.
IsOffscreenProperty Depende Esta propiedad debe devolver un valor para si el elemento de lista se desplaza actualmente en la vista dentro del contenedor primario que implementa el patrón de control Scroll.

Patrones de control de Automatización de la interfaz de usuario necesarios

En la tabla siguiente se muestran los patrones de control de Automatización de la interfaz de usuario que se deben admitir por los controles de elemento de lista. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.

Patrón de control Soporte técnico Notas
ISelectionItemProvider El control de elemento de lista debe implementar este patrón de control. Esto permite que los controles de elementos de lista transmitan cuando se seleccionan.
IScrollItemProvider Depende Si el elemento de lista se incluye dentro de un contenedor que se puede desplazar, se debe implementar este patrón de control.
IToggleProvider Depende Si el elemento de lista se puede activar y la acción no realiza un cambio de estado de la selección, se debe implementar este patrón de control.
IExpandCollapseProvider Depende Si el elemento se puede manipular para mostrar u ocultar información, se debe implementar este patrón de control.
IValueProvider Depende Si se puede editar el elemento, se debe implementar este patrón de control. Los cambios realizados al control de elemento de lista provocarán cambios en los valores de NamePropertyy Value.
IGridItemProvider Depende Si se admite la navegación espacial de un elemento a otro dentro del contenedor de lista y el contenedor está organizado en filas y columnas, se debe implementar el patrón de control de elemento de cuadrícula.
IInvokeProvider Depende Si el elemento tiene un comando que se puede ejecutar en él, independiente de la selección, se debe implementar este patrón. Se trata normalmente de una acción asociada a hacer doble clic en el control de elemento de lista. Algunos ejemplos serían iniciar un documento desde el Explorador de Microsoft Windows o reproducir un archivo de música en Media Player de Microsoft Windows.

Eventos de Automatización de la interfaz de usuario necesarios

En la siguiente tabla se muestra los eventos de Automatización de la interfaz de usuario requeridos para ser admitidos por todos los controles de elemento de lista. Para más información sobre los eventos, vea UI Automation Events Overview.

Evento de Automatización de la interfaz de usuario Soporte técnico Notas
InvokedEvent Depende None
ElementAddedToSelectionEvent Obligatorio None
ElementRemovedFromSelectionEvent Obligatorio None
ElementSelectedEvent Obligatorio None
Evento cambiado por propiedadBoundingRectangleProperty . Obligatorio None
Evento cambiado por propiedadIsOffscreenProperty . Obligatorio None
Evento cambiado por propiedadIsEnabledProperty . Obligatorio None
NameProperty Obligatorio None
Evento cambiado por propiedadItemStatusProperty . Depende None
Evento cambiado por propiedadExpandCollapseStateProperty . Depende None
Evento cambiado por propiedadValueProperty . Depende None
Evento cambiado por propiedadToggleStateProperty . Depende None
AutomationFocusChangedEvent Obligatorio None
StructureChangedEvent Obligatorio None

Consulte también