Compatibilidad de UI Automation para el tipo de control DataGrid
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 Automatización de la interfaz de usuario de Microsoft con el tipo de control DataGrid. 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 ControlType
. 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.
El tipo de control DataGrid permite a un usuario trabajar fácilmente con elementos que contienen metadatos representados en columnas. Los controles de cuadrícula de datos tienen filas de elementos y columnas de información sobre esos elementos. Un control List View en Microsoft Vista Explorer es un ejemplo que admite el tipo de control DataGrid.
En las secciones siguientes se definen la estructura de árbol, las propiedades, los patrones de control y los eventos para el tipo de control DataGrid 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 cuadrícula de datos, 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 cuadrícula de datos y se describe lo que puede incluirse en cada vista. Para más información sobre el árbol de UI Automation, vea Información general del árbol de UI Automation.
Árbol de Automatización de la interfaz de usuario: vista de control | Árbol de Automatización de la interfaz de usuario: vista de contenido |
---|---|
DataGrid
|
DataGrid - DataItem (0 o más; se puede estructurar en jerarquía) |
Propiedades de Automatización de la interfaz de usuario necesarias
En la tabla siguiente se muestran las propiedades que tienen un valor o una definición que es especialmente relevante para los controles de cuadrícula de datos. Para más información sobre las propiedades de automatización de la interfaz de usuario, vea UI Automation Properties for Clients.
Propiedad | 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 rectángulo exterior que contiene el control completo. |
ClickablePointProperty | Vea las notas. | Se admite si hay un rectángulo delimitador. Si no todos los puntos que se encuentran dentro del rectángulo delimitador son seleccionables, y realiza pruebas de aciertos especializadas, invalide y ofrezca un punto en el que hacer clic. |
ControlTypeProperty | DataGrid | Este valor es el mismo para todos los marcos de trabajo de la interfaz de usuario. |
IsContentElementProperty | True | El valor de esta propiedad siempre debe ser True. Esto significa que el control de cuadrícula de datos siempre debe estar en la vista de contenido del árbol de Automatización de la interfaz de usuario. |
IsControlElementProperty | True | El valor de esta propiedad siempre debe ser True. Esto significa que el control de cuadrícula de datos siempre debe estar en la vista de control del árbol de Automatización de la interfaz de usuario. |
IsKeyboardFocusableProperty | Vea las notas. | Si el control puede recibir el foco del teclado, debe admitir esta propiedad. |
LabeledByProperty | Vea las notas. | Si hay una etiqueta de texto estático, esta propiedad debe exponer una referencia a ese control. |
LocalizedControlTypeProperty | "cuadrícula de datos" | Cadena localizada que corresponde al tipo de control DataGrid. |
NameProperty | Vea las notas. | El control de cuadrícula de datos normalmente obtiene el valor de su propiedad Name de una etiqueta de texto estático. Si no hay una etiqueta de texto estático, un desarrollador de aplicaciones debe asignar un valor a la propiedad Name . El valor de la propiedad Name nunca debe ser el contenido textual del control de edición. |
Patrones de control de Automatización de la interfaz de usuario necesarios
En la tabla siguiente se muestran los patrones de control de necesarios para que todos los controles de cuadrícula de datos los admitan. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.
Patrón de control | Soporte técnico | Notas |
---|---|---|
IGridProvider | Sí | El propio control de cuadrícula de datos siempre admite el patrón de control Grid porque los elementos que contiene incluyen metadatos que se presentan en una cuadrícula. |
IScrollProvider | Depende | La capacidad de desplazar la cuadrícula de datos depende del contenido y de si las barras de desplazamiento están presentes. |
ISelectionProvider | Depende | La capacidad de seleccionar la cuadrícula de datos depende del contenido. |
ITableProvider | Sí | El control de cuadrícula de datos siempre tiene un encabezado dentro de su subárbol, por lo que se debe admitir el patrón de control Table. |
Los elementos de datos dentro de los contenedores de la cuadrícula de datos admitirán como mínimo:
El patrón de control Selection Item (si la cuadrícula de datos es seleccionable)
El patrón de control Scroll Item (si la cuadrícula de datos es desplazable)
El patrón de control Table Item
Table Item (patrón de control)
Eventos de Automatización de la interfaz de usuario necesarios
En la tabla siguiente se muestran los eventos de Automatización de la interfaz de usuario que deben admitir todos los controles de cuadrícula de datos. Para más información sobre eventos, vea UI Automation Events Overview.
Evento de Automatización de la interfaz de usuario | Soporte técnico | Notas |
---|---|---|
AutomationFocusChangedEvent | Obligatorio | None |
Evento cambiado por propiedadBoundingRectangleProperty . | Obligatorio | None |
Evento cambiado por propiedadIsEnabledProperty . | Obligatorio | None |
Evento cambiado por propiedadIsOffscreenProperty . | Obligatorio | None |
LayoutInvalidatedEvent | Depende | None |
StructureChangedEvent | Obligatorio | None |
Evento cambiado por propiedadCurrentViewProperty . | Depende | None |
Evento cambiado por propiedadHorizontallyScrollableProperty . | Depende | Si el control admite el patrón Scroll, debe admitir este evento. |
Evento cambiado por propiedadHorizontalScrollPercentProperty . | Depende | Si el control admite el patrón Scroll, debe admitir este evento. |
Evento cambiado por propiedadHorizontalViewSizeProperty . | Depende | Si el control admite el patrón Scroll, debe admitir este evento. |
Evento cambiado por propiedadVerticalScrollPercentProperty . | Depende | Si el control admite el patrón Scroll, debe admitir este evento. |
Evento cambiado por propiedadVerticallyScrollableProperty . | Depende | Si el control admite el patrón Scroll, debe admitir este evento. |
Evento cambiado por propiedadVerticalViewSizeProperty . | Depende | Si el control admite el patrón Scroll, debe admitir este evento. |
InvalidatedEvent | Obligatorio | None |
Ejemplo de tipo de control Date Grid
En la imagen siguiente se muestra un control List View que implementa el tipo de control DataGrid.
Las vistas de control y de contenido del árbol de Automatización de la interfaz de usuario que pertenece al control de vista de lista se muestran a continuación. Los patrones de control de cada elemento de automatización se muestran entre paréntesis.
Árbol de Automatización de la interfaz de usuario: vista de control | Árbol de Automatización de la interfaz de usuario: vista de contenido |
---|---|
|
|
* En el ejemplo anterior se muestra un elemento DataGrid que contiene varios niveles de controles. El control Group ("Contoso") contiene dos controles DataItem ("Accounts Receivable.doc" y "Accounts Payable.doc"). Un par de controles DataGrid/GridItem es independiente de un par en otro nivel. Los controles DataItem de un elemento Group también se pueden exponer como un tipo de control ListItem, lo que permite que se presenten más claramente como objetos seleccionables, en lugar de como elementos de datos simples. En este ejemplo no se incluyen los subelementos de los elementos de datos agrupados.