Compatibilidad de UI Automation para el tipo de control DataItem
Nota |
---|
Esta documentación está dirigida a desarrolladores de .NET Framework que desean usar las clases administradas de UI Automation definidas en el espacio de nombres System.Windows.Automation.Para obtener información actualizada sobre UI Automation, vea Windows Automation API: UI Automation. |
En este tema se proporciona información sobre la compatibilidad de Microsoft UI Automation con el tipo de control DataItem. En UI Automation, un tipo de control es un conjunto de condiciones que debe cumplir un control para utilizar la propiedad ControlTypeProperty. Las condiciones incluyen instrucciones específicas para la estructura de árbol de UI Automation, los valores de propiedades de UI Automation y los patrones de control.
Una entrada en una lista de contactos es un ejemplo de un control de elemento de datos. Un control de elemento de datos contiene información que de interés para un usuario final. Es más complicado que un elemento de lista simple porque contiene información más enriquecida.
En las secciones siguientes se definen la estructura de árbol de UI Automation, las propiedades, los patrones de control y los eventos obligatorios para el tipo de control DataItem. Los requisitos de UI Automation se aplican a todos los controles de elemento de datos, sean de Windows Presentation Foundation (WPF), Win32 o Windows Forms.
Este tema contiene las secciones siguientes.
- Estructura de árbol de automatización de la interfaz de usuario obligatoria
- Propiedades necesarias de automatización de la interfaz de usuario
- Patrones de control de automatización de la interfaz de usuario obligatorios
- Trabajar con elementos de datos en listas grandes
- Eventos de automatización de la interfaz de usuario obligatorios
- Ejemplo del tipo de control DataItem
- Temas relacionados
Estructura de árbol de automatización de la interfaz de usuario obligatoria
En la tabla siguiente se muestran la vista de control y la vista de contenido del árbol de UI Automation correspondiente a los controles de elemento de datos y se describe qué puede contener cada vista. Para obtener más información sobre el árbol de UI Automation, vea Información general sobre el árbol de la UI Automation.
Árbol de UI Automation: vista de control |
Árbol de UI Automation: vista de contenido |
---|---|
DataItem
|
DataItem
|
Un elemento de datos de una cuadrícula de datos puede hospedar diversos objetos, incluso otra capa de elementos de datos, o elementos de cuadrícula concretos como texto, imágenes o controles de edición. Si el elemento de datos tiene un rol de objeto concreto, el elemento se debe exponer como un tipo de control concreto; por ejemplo, el tipo de control ListItem para un elemento de datos seleccionable en la cuadrícula.
Propiedades necesarias de automatización de la interfaz de usuario
En la tabla siguiente se muestra una lista de propiedades cuyo valor o definición es especialmente relevante para los controles de elemento de datos. Para obtener más información sobre las propiedades de UI Automation, vea Propiedades de UI Automation para clientes.
Propiedad |
Valor |
Notas |
---|---|---|
Vea las notas. |
El valor de esta propiedad debe ser único en todos los controles de una aplicación. |
|
Consulte las notas. |
El rectángulo más externo que contiene el control completo. |
|
Vea las notas. |
Se admite si hay un rectángulo delimitador. Si no se puede hacer clic en todos los puntos dentro del rectángulo delimitador y realiza una prueba de posicionamiento especializada, invalide y proporcione un punto donde hacer clic. |
|
DataItem |
Este valor es el mismo para todos los marcos de trabajo de interfaz de usuario. |
|
True |
El control de elemento de datos siempre debe ser el contenido. |
|
True |
El control de elemento de datos siempre debe ser un control. |
|
Consulte las notas. |
Si el control puede recibir el foco del teclado, debe admitir esta propiedad. |
|
Consulte las notas. |
Si el control contiene un estado que se actualiza dinámicamente, se debe admitir esta propiedad para que una tecnología de ayuda pueda recibir actualizaciones cuando cambie el estado del elemento. |
|
Consulte las notas. |
Éste es el valor de tipo String que transmite al usuario final el objeto subyacente que el elemento representa. Ejemplos de ello son "Archivo multimedia" o "Contacto". |
|
Null |
Los controles de elemento de datos no tienen una etiqueta de texto estática. |
|
"data item" |
Cadena adaptada que corresponde al tipo de control DataItem. |
|
Consulte las notas. |
El control de elemento de datos siempre contiene un elemento de texto primario que está relacionado con lo que el usuario asociaría como identificador más semántico del elemento. |
Patrones de control de automatización de la interfaz de usuario obligatorios
En la tabla siguiente se muestra una lista de los patrones de control de Microsoft UI Automation con los que deben ser compatibles todos los controles de elemento de datos. Para obtener más información acerca de los patrones de control, consulte Información general acerca de los patrones de control de automatización de la interfaz de usuario.
Patrón de control |
Compatibilidad |
Notas |
---|---|---|
Depende |
Si el elemento de datos se puede expandir o contraer para mostrar y ocultar información, debe admitirse el patrón ExpandCollapse. |
|
Depende |
Los elementos de datos admitirán el patrón GridItem cuando haya una colección de elementos de datos disponible dentro de un contenedor en el que se puede navegar espacialmente de un elemento a otro. |
|
Depende |
Todos los elementos de datos admiten la función de desplazamiento para verlos mediante el patrón ScrollItem cuando su contenedor de datos tiene más elementos de los que caben en la pantalla. |
|
Sí |
Todos los elementos de datos deben admitir el patrón SelectionItem para indicar cuándo está seleccionado el elemento. |
|
Depende |
Si el elemento de datos está contenido en un tipo de control DataGrid, admitirá este patrón. |
|
Depende |
Si el elemento de datos contiene un estado que se puede recorrer cíclicamente. |
|
Depende |
Si el texto primario del elemento de datos se puede editar, se debe admitir el patrón Value. |
Trabajar con elementos de datos en listas grandes
Las listas grandes suelen ser datos organizados en una vista virtual en el seno de los marcos de trabajo de la UI, para mejorar el rendimiento. Por este motivo, un cliente de Automatización de la interfaz de usuario no puede utilizar la característica de consulta de UI Automation para explorar el contenido del árbol completo del mismo modo que en otros contenedores de elementos. Un cliente debe desplazar el elemento para poder verlo (o expandir el control para mostrar todas las opciones de valor) antes de tener acceso al conjunto completo de información del elemento de datos.
Al llamar a SetFocus en el elemento de UI Automation correspondiente al elemento de datos, el caso Microsoft Windows Explorer se devolverá correctamente y hará que el foco se establezca en el elemento Edit del árbol secundario del elemento de datos.
Eventos de automatización de la interfaz de usuario obligatorios
En la tabla siguiente se indican los eventos de UI Automation que deben admitir todos los controles de elemento de datos. Para obtener más información sobre los eventos, vea Información general sobre eventos de UI Automation.
Evento de UI Automation |
Compatibilidad |
Notas |
---|---|---|
Obligatorio |
Ninguno |
|
Evento de cambio de propiedad de BoundingRectangleProperty. |
Obligatorio |
Ninguno |
Evento de cambio de propiedad de IsEnabledProperty. |
Necesario |
Ninguno |
Evento de cambio de propiedad de IsOffscreenProperty. |
Necesario |
Ninguno |
Evento de cambio de propiedad de NameProperty. |
Obligatorio |
Ninguno |
Obligatorio |
Ninguno |
|
Depende |
Ninguno |
|
Evento de cambio de propiedad de ExpandCollapseStateProperty. |
Depende |
Ninguno |
Obligatorio |
Ninguno |
|
Obligatorio |
Ninguno |
|
Obligatorio |
Ninguno |
|
Evento de cambio de propiedad de ToggleStateProperty. |
Depende |
Ninguno |
Evento de cambio de propiedad de ValueProperty. |
Depende |
Ninguna |
Ejemplo del tipo de control DataItem
La siguiente imagen muestra el tipo de control DataItem en un control ListView con compatibilidad con la información enriquecida en las columnas.
A continuación, se muestra la vista de control y la vista de contenido del árbol de UI Automation correspondiente al control de elemento de datos. Los patrones de control de cada elemento de automatización se muestran entre paréntesis. El grupo "Contoso" también forma parte de la cuadrícula del control host DataGrid.
Árbol de UI Automation: vista de control |
Árbol de UI Automation: vista de contenido |
---|---|
|
|
Si una cuadrícula representa una lista de elementos seleccionables, los elementos de la interfaz de usuario correspondientes se pueden exponer con el tipo de control ListItem, en lugar de con el tipo de control DataItem. En el ejemplo anterior, los elementos DataItem ("Accounts Receivable.doc" y "Accounts Payable.doc") de Group ("Contoso") se pueden mejorar exponiéndolos como tipos de control ListItem, porque ese tipo ya admite el patrón de control SelectionItem.