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.
En este tema se proporciona información sobre la compatibilidad de Automatización de la interfaz de usuario de Microsoft con el tipo de control dataItem .
Una entrada de una lista de contactos es un ejemplo de un control de elemento de datos. Un control de elemento de datos contiene información que es de interés para un usuario final. Es más complicado que el elemento de lista simple porque contiene información más completa.
En las secciones siguientes se define la estructura de árbol de automatización de la interfaz de usuario necesaria, las propiedades, los patrones de control y los eventos para el tipo de control DataItem. Los requisitos de automatización de la interfaz de usuario se aplican a todos los controles de elementos de datos en los que el marco o la plataforma de la interfaz de usuario integra la compatibilidad con automatización de la interfaz de usuario para los tipos de control y los patrones de control.
Este tema contiene las secciones siguientes.
- estructura de árbol típica
- de propiedades pertinentes
- patrones de control necesarios
- trabajar con DataItems en listas grandes
- eventos necesarios
- ejemplo de tipo de control DataItem de
- temas relacionados
Estructura de árbol típica
En la tabla siguiente se muestra un control típico y una vista de contenido del árbol de automatización de la interfaz de usuario que pertenece a los controles de elementos de datos y describe lo que se puede contener en cada vista. Para obtener 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 |
|---|---|
|
|
Un elemento de elemento de datos de una cuadrícula de datos puede hospedar una variedad de objetos, incluida otra capa de elementos de datos o elementos de cuadrícula específicos, como texto, imágenes o controles de edición. Si el elemento de elemento de datos tiene un rol de objeto específico, el elemento debe exponerse como un tipo de control específico; por ejemplo, un tipo de control ListItem para un elemento de datos seleccionable en la cuadrícula.
Propiedades pertinentes
En la tabla siguiente se enumeran las propiedades de automatización de la interfaz de usuario cuyo valor o definición es especialmente relevante para el tipo de control DataItem. Para obtener más información sobre las propiedades de automatización de la interfaz de usuario, consulte Recuperar propiedades de elementos de automatización de la interfaz de usuario.
| Ui Automation (propiedad) | Valor | Notas |
|---|---|---|
| UIA_AutomationIdPropertyId | Vea las notas. | El valor de esta propiedad debe ser único entre todos los elementos del mismo nivel en la vista sin procesar del árbol de automatización de la interfaz de usuario. |
| UIA_BoundingRectanglePropertyId | Vea las notas. | Rectángulo más externo que contiene todo el control. |
| UIA_ClickablePointPropertyId | Vea las notas. | Se admite si hay un rectángulo delimitador. Si no se puede hacer clic en todos los puntos del rectángulo delimitador, y el elemento realiza pruebas de posicionamiento especializadas, invalida y proporciona un punto en el que se puede hacer clic. |
| UIA_ControlTypePropertyId | DataItem | |
| UIA_IsContentElementPropertyId | VERDADERO | El control de elemento de datos siempre debe ser contenido. |
| UIA_IsControlElementPropertyId | VERDADERO | El control de elemento de datos siempre debe ser un control . |
| UIA_IsKeyboardFocusablePropertyId | Vea las notas. | Si el control puede recibir el foco del teclado, debe admitir esta propiedad. |
| UIA_ItemStatusPropertyId | Vea las notas. | Si el control contiene el estado que se actualiza dinámicamente, esta propiedad debe admitirse para que una tecnología de asistencia pueda recibir actualizaciones cuando cambie el estado del elemento. |
| UIA_ItemTypePropertyId | Vea las notas. | Este es el valor de cadena que transmite al usuario final el objeto subyacente que representa el elemento. Algunos ejemplos son "Archivo multimedia" y "Contacto". |
| UIA_LabeledByPropertyId | Nulo | Los controles de elementos de datos no tienen una etiqueta de texto estático. |
| UIA_LocalizedControlTypePropertyId | Vea las notas. | Cadena localizada correspondiente al tipo de control DataItem. El valor predeterminado es "elemento de datos" para en-US o inglés (Estados Unidos). |
| UIA_NamePropertyId | Vea las notas. | El control de elemento de datos siempre contiene un elemento de texto principal que el usuario reconocería como identificador del elemento. |
Patrones de control necesarios
En la tabla siguiente se enumeran los patrones de control de automatización de la interfaz de usuario necesarios para ser compatibles con todos los controles de elementos de datos. Para obtener más información sobre los patrones de control, consulte Introducción a los patrones de control de automatización de la interfaz de usuario.
| Patrón de control | Apoyo | Notas |
|---|---|---|
| IExpandCollapseProvider | Depende | Si el elemento de datos se puede expandir o contraer para mostrar y ocultar información, se debe admitir el patrón de control ExpandCollapse. |
| IGridItemProvider | Depende | Los elementos de datos admitirán el patrón de control gridItem cuando haya disponible una colección de elementos de datos dentro de un contenedor que se pueda navegar espacialmente por elemento a elemento. |
| IScrollItemProvider | Depende | Todos los elementos de datos admiten la capacidad de desplazarse a la vista con el patrón de control ScrollItem cuando su contenedor de datos tiene más elementos de los que pueden caber en la pantalla. |
| ISelectionItemProvider | Depende | La capacidad de seleccionar los elementos de datos depende del contenido. |
| ITableItemProvider | Depende | Si el elemento de datos está incluido en un tipo de control DataGrid que tiene un elemento de encabezado, debe admitir el patrón de control TableItem. |
| IToggleProvider | Depende | Si el elemento de datos contiene un estado que se puede recorrer, debe admitir el patrón de control Alternar. |
| IValueProvider | Depende | Si se puede editar el texto principal del elemento de datos, se debe admitir el patrón de control value valor. |
Trabajar con DataItems en listas grandes
Dado que las listas grandes a menudo se virtualizan dentro de marcos de interfaz de usuario para ayudar en el rendimiento, un cliente de Automatización de la interfaz de usuario no puede usar la característica de consulta de automatización de la interfaz de usuario para buscar el contenido del árbol completo de la misma manera que puede en otros contenedores de elementos. Un cliente debe desplazar el elemento a la vista (o expandir el control para mostrar todas las opciones disponibles) antes de acceder al conjunto completo de información desde el elemento de datos.
Al llamar a SetFocus en el elemento de automatización de la interfaz de usuario del elemento de datos, el Explorador de Microsoft Windows devuelve correctamente y hace que el foco se establezca en el control Editar dentro del subárbol del elemento de datos.
Eventos necesarios
En la tabla siguiente se enumeran los eventos de automatización de la interfaz de usuario que los controles de elementos de datos son necesarios para admitir. Para obtener más información sobre los eventos, consulte ui Automation Events Overview.
| Evento de automatización de la interfaz de usuario | Notas |
|---|---|
| UIA_AutomationFocusChangedEventId | |
| UIA_BoundingRectanglePropertyId evento de cambio de propiedad. | |
| UIA_ExpandCollapseExpandCollapseStatePropertyId evento de cambio de propiedad. | Si el control admite el patrón de control ExpandCollapse, debe admitir este evento. |
| UIA_Invoke_InvokedEventId | Si el control admite el patrón de control invoke , debe admitir este evento. |
| UIA_IsEnabledPropertyId evento de cambio de propiedad. | Si el control admite la propiedadIsEnabled, debe admitir este evento. |
| UIA_IsOffscreenPropertyId evento de cambio de propiedad. | Si el control admite la propiedad IsOffscreen, debe admitir este evento. |
| UIA_ItemStatusPropertyId evento de cambio de propiedad. | Si el control admite la propiedadItemStatus, debe admitir este evento. |
| UIA_NamePropertyId evento de cambio de propiedad. | |
| UIA_SelectionItem_ElementAddedToSelectionEventId | Si el control admite el patrón de control selectionItem , debe admitir este evento. |
| UIA_SelectionItem_ElementRemovedFromSelectionEventId | Si el control admite el patrón de control selectionItem , debe admitir este evento. |
| UIA_SelectionItem_ElementSelectedEventId | Si el control admite el patrón de control selectionItem , debe admitir este evento. |
| UIA_StructureChangedEventId | |
| UIA_ToggleToggleStatePropertyId evento de cambio de propiedad. | Si el control admite el patrón de control alternancia, debe admitir este evento. |
| UIA_ValueValuePropertyId evento de cambio de propiedad. | Si el control admite el patrón de control value, debe admitir este evento. |
Ejemplo de tipo de control DataItem
En la imagen siguiente se muestra un tipo de control DataItem en un control de vista de lista.
A continuación se muestra la vista de control y la vista de contenido del árbol de automatización de la interfaz de usuario que pertenece al control de elemento de datos. Los patrones de control para cada elemento de automatización se muestran entre paréntesis. El grupo "Contoso" también forma parte de la cuadrícula del control host de la cuadrícula de datos. Para obtener un ejemplo de una estructura de cuadrícula de nivel superior, vea tipo de control DataGrid.
| Árbol de automatización de la interfaz de usuario: vista de control | Árbol de automatización de la interfaz de usuario: vista de contenido |
|---|---|
|
|
Si una cuadrícula representa una lista de elementos seleccionables, los elementos de interfaz de usuario seleccionables correspondientes se pueden exponer con el ListItem tipo de control en lugar del tipo de control DataItem. En el ejemplo anterior, los elementos DataItem ("Accounts Receivable.doc" y "Accounts Payable.doc") en Group ("Contoso") se pueden mejorar exponiendo como tipos de control ListItem porque ese tipo ya admite el patrón de control SelectionItem de.
Temas relacionados
-
conceptual de
-
Introducción a los tipos de control de automatización de la interfaz de usuario de
-
información general de automatización de la interfaz de usuario de