Compartir a través de


Compatibilidad de UI Automation para el tipo de control DataGrid

NotaNota

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 la Microsoft UI Automation con el tipo de control DataGrid. En la UI Automation, un tipo de control es un conjunto de condiciones que debe cumplir un control para utilizar la propiedad ControlType. 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.

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. Por ejemplo, un control ListView en Microsoft Vista Explorer admite el tipo de control DataGrid.

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 DataGrid. Los requisitos de UI Automation se aplican a todos los controles de cuadrícula, 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 obligatorias de automatización de la interfaz de usuario
  • Patrones de control de automatización de la interfaz de usuario obligatorios
  • Eventos obligatorios de automatización de la interfaz de usuario
  • Ejemplo de tipo de control DataGrid
  • 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 cuadrícula 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

DataGrid

  • Header (0, 1 ó 2)

    • HeaderItem (número de columnas o filas)

  • DataItem (0 o más; se puede estructurar en jerarquía)

DataGrid

  • DataItem (0 o más; se puede estructurar en jerarquía)

Propiedades obligatorias 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 cuadrícula de datos. Para obtener más información acerca de las propiedades de UI Automation, vea Propiedades de UI Automation para clientes.

Propiedad

Valor

Notas

AutomationIdProperty

Vea las notas.

El valor de esta propiedad debe ser único en todos los controles de una aplicación.

BoundingRectangleProperty

Consulte las notas.

El rectángulo más externo que contiene el control completo.

ClickablePointProperty

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.

ControlTypeProperty

DataGrid

Este valor es el mismo para todos los marcos de trabajo de interfaz de usuario.

IsContentElementProperty

True

El valor de esta propiedad debe ser siempre True. Esto significa que el control de cuadrícula de datos siempre debe estar incluido en la vista de contenido del árbol de UI Automation.

IsControlElementProperty

True

El valor de esta propiedad debe ser siempre True. Esto significa que el control de cuadrícula de datos siempre debe estar incluido en la vista de control del árbol de UI Automation.

IsKeyboardFocusableProperty

Consulte las notas.

Si el control puede recibir el foco del teclado, debe admitir esta propiedad.

LabeledByProperty

Consulte las notas.

Si hay una etiqueta de texto estática, esta propiedad debe exponer una referencia a ese control.

LocalizedControlTypeProperty

"cuadrícula de datos"

Cadena localizada que corresponde al tipo de control DataGrid.

NameProperty

Consulte las notas.

El control de cuadrícula de datos recibe normalmente el valor de su propiedad Name de una etiqueta de texto estática. Si no hay una etiqueta de texto estática, el programador de la aplicación debe asignar un valor para 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 obligatorios

En la tabla siguiente se muestran los patrones de control que deben admitir todos los controles de cuadrícula 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

IGridProvider

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 posibilidad de desplazarse por la cuadrícula de datos depende del contenido y de si hay barras de desplazamiento.

ISelectionProvider

Depende

La capacidad de seleccionar la cuadrícula de datos depende del contenido.

ITableProvider

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 incluidos en los contenedores de la cuadrícula de datos admitirán como mínimo:

  • Patrón de control del elemento de selección (si la cuadrícula de datos puede seleccionarse)

  • Patrón de control del elemento de desplazamiento (si la cuadrícula de datos puede desplazarse)

  • Patrón de control GridItem

  • Patrón de control TableItem

Eventos obligatorios de automatización de la interfaz de usuario

En la tabla siguiente se muestra una lista de los eventos de UI Automation con los que deben ser compatibles todos los controles de cuadrícula 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

AutomationFocusChangedEvent

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.

Obligatorio

Ninguno

LayoutInvalidatedEvent

Depende

Ninguno

StructureChangedEvent

Obligatorio

Ninguno

Evento de cambio de propiedad de CurrentViewProperty.

Depende

Ninguna

Evento de cambio de propiedad de HorizontallyScrollableProperty.

Depende

Si el control admite el patrón de desplazamiento, debe admitir este evento.

Evento de cambio de propiedad HorizontalScrollPercentProperty.

Depende

Si el control admite el patrón de desplazamiento, debe admitir este evento.

Evento de cambio de propiedad HorizontalViewSizeProperty.

Depende

Si el control admite el patrón de desplazamiento, debe admitir este evento.

Evento de cambio de propiedad VerticalScrollPercentProperty.

Depende

Si el control admite el patrón de desplazamiento, debe admitir este evento.

Evento de cambio de propiedad VerticallyScrollableProperty.

Depende

Si el control admite el patrón de desplazamiento, debe admitir este evento.

Evento de cambio de propiedad VerticalViewSizeProperty.

Depende

Si el control admite el patrón de desplazamiento, debe admitir este evento.

InvalidatedEvent

Obligatorio

Ninguno

Ejemplo de tipo de control DataGrid

La imagen siguiente muestra un control ListView que implementa el tipo de control DataGrid.

Gráfico de un control List View con dos elementos de datos

A continuación, se muestra la vista de control y la vista de contenido del árbol de UI Automation correspondiente al control de vista de lista. Los patrones de control de cada elemento de automatización se muestran entre paréntesis.

Árbol de UI Automation: vista de control

Árbol de UI Automation: vista de contenido

  • DataGrid (Table, Grid, Selection)

  • Header

    • HeaderItem "Name" (Invoke)

    • HeaderItem "Date Modified" (Invoke)

    • HeaderItem "Size" (Invoke)

  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)

    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

  • DataGrid (Table, Grid, Selection)

  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)

    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

* En el ejemplo anterior se muestra un control 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 control Group también se pueden exponer como un tipo de control ListItem, lo que permite presentarlos más claramente como objetos que pueden seleccionarse, en lugar de como elementos de datos simples. En este ejemplo no se incluyen los subelementos de los elementos de datos agrupados.

Vea también

Referencia

DataGrid

Conceptos

Información general sobre tipos de control de UI Automation

Información general sobre UI Automation