Compartir a través de


Compatibilidad de UI Automation para el tipo de control MenuItem

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 Microsoft UI Automation con el tipo de control MenuItem. Describe la estructura de árbol de Microsoft UI Automation del control y proporciona las propiedades y los patrones de control que se requieren para el tipo de control MenuItem.

Un control de menú permite organizar jerárquicamente los elementos asociados a comandos y controladores de eventos. En una aplicación típica de Microsoft Windows, una barra de menús contiene varios elementos de menú (como Archivo, Edición y Ventana) y cada elemento de menú muestra un menú. Un menú contiene una colección de elementos de menú (como Nuevo, Abrir y Cerrar), que se pueden expandir para mostrar más elementos de menú o realizar una acción concreta cuando se hace clic en ellos. Un elemento de menú se puede hospedar en un menú, una barra de menús o una barra de herramientas.

En las secciones siguientes se definen la estructura de árbol de UI Automation, propiedades, patrones de control y eventos requeridos para el tipo de control MenuItem. Los requisitos de UI Automation se aplican a todos los controles de lista, 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 de automatización de la interfaz de usuario obligatorias
  • Patrones de control de automatización de la interfaz de usuario obligatorios
  • Eventos de automatización de la interfaz de usuario para MenuItem
  • Eventos de automatización de la interfaz de usuario obligatorios
  • Problemas relacionados con versiones anteriores
  • 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 menú y se describe qué puede contener cada vista. Para obtener más información acerca del árbol de UI Automation, vea Información general sobre el árbol de la UI Automation.

Vista de control

Vista de contenido

MenuItem "Ayuda"

  • Menu (submenú de elemento de menú de Ayuda)

    • MenuItem "Temas de Ayuda"

    • MenuItem "Acerca del Bloc de notas"

MenuItem "Ayuda"

  • MenuItem "Temas de Ayuda"

  • MenuItem "Acerca del Bloc de notas"

La vista de control del control de elemento de menú tiene la estructura de árbol de UI Automation mostrada anteriormente. Observe que el elemento de menú Ayuda se incluye para mostrar mejor la estructura en una jerarquía típica de menús y sus submenús.

Para la vista de contenido, Menu está ausente del árbol de UI Automation porque no transmite información importante al usuario final.

Propiedades de automatización de la interfaz de usuario obligatorias

En la tabla siguiente se muestra la lista de propiedades de UI Automation cuyo valor o definición es especialmente relevante para los controles de elemento de menú. Para obtener más información acerca de las propiedades de UI Automation, vea Propiedades de UI Automation para clientes.

Propiedad

Valor

Descripción

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 acceso especializada, invalide y proporcione un punto donde hacer clic.

IsKeyboardFocusableProperty

Vea las notas.

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

NameProperty

Consulte las notas.

El control de elemento de menú está incluido en la vista de contenido del árbol de UI Automation y está etiquetado con un nombre.

LabeledByProperty

Null

Ninguna etiqueta.

ControlTypeProperty

MenuItem

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

LocalizedControlTypeProperty

"elemento de menú"

Cadena localizada que corresponde al tipo de control MenuItem.

IsContentElementProperty

True

El control de elemento de menú nunca se incluye en la vista de contenido del árbol de UI Automation.

IsControlElementProperty

True

El control de elemento de menú siempre debe estar incluido en la vista de control del árbol de UI Automation.

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 UI Automation con los que deben ser compatibles todos los controles de elemento de menú. Para obtener más información acerca de los patrones de control, vea Información general acerca de los patrones de control de automatización de la interfaz de usuario.

Propiedad del patrón de control

Compatibilidad

Notas

IExpandCollapseProvider

Depende

Si el control se puede expandir o contraer, implemente IExpandCollapseProvider.

IInvokeProvider

Depende

Si el control ejecuta una única acción o comando, implemente IInvokeProvider.

IToggleProvider

Depende

Si el control representa una opción que se puede activar o desactivar, implemente IToggleProvider.

ISelectionItemProvider

Depende

Si el control se usa para elegir en una lista de opciones de elementos de menú, implemente ISelectionItemProvider.

Eventos de automatización de la interfaz de usuario para MenuItem

En la tabla siguiente se enumeran los eventos de Microsoft UI Automation asociados al control de elemento de menú.

Evento

Compatibilidad

Explicación

InvokedEvent

Depende

Se debe provocar si el control admite el patrón de control Invoke.

Evento de cambio de propiedad ToggleStateProperty.

Depende

Se debe provocar si el control admite el patrón de control Toggle.

Evento de cambio de propiedad ExpandCollapseStateProperty.

Depende

Se debe provocar si el control admite el patrón de control ExpandCollapse.

ElementSelectedEvent

Depende

Ninguno.

Eventos de automatización de la interfaz de usuario obligatorios

En la tabla siguiente se muestra una lista de los eventos de UI Automation con los que deben ser compatibles todos los controles de elemento de menú. Para obtener más información sobre los eventos, vea Información general sobre eventos de UI Automation.

Evento de UI Automation

Compatibilidad/valor

Notas

InvokedEvent

Depende

Ninguno

ElementAddedToSelectionEvent

Depende

Ninguno

ElementRemovedFromSelectionEvent

Depende

Ninguno

ElementSelectedEvent

Depende

Ninguno

Evento de cambio de propiedad de BoundingRectangleProperty.

Obligatorio

Ninguno

Evento de cambio de propiedad de IsOffscreenProperty.

Necesario

Ninguno

Evento de cambio de propiedad de IsEnabledProperty.

Necesario

Ninguno

Evento de cambio de propiedad de ExpandCollapseStateProperty.

Depende

Ninguno

Evento de cambio de propiedad de ToggleStateProperty.

Depende

Ninguno

AutomationFocusChangedEvent

Obligatorio

Ninguno

StructureChangedEvent

Obligatorio

Ninguno

Problemas relacionados con versiones anteriores

El patrón Toggle sólo se admitirá cuando el elemento de menú de Win32 se active y se pueda determinar mediante programación que es necesario para admitir el patrón de alternancia. Dado que el elemento de menú de Win32 no expone si tiene posibilidad de activarse, el patrón Invoke se admitirá cuando el elemento de menú no se active. Como excepción, se admitirá siempre el patrón Invoke incluso para elementos de menú que sólo deberían admitir el patrón Toggle. El objetivo es evitar la confusión en el cliente cuando un elemento que admitía el patrón Invoke (cuando el elemento de menú se encontraba desactivado) ya no admite el patrón una vez activado.

Vea también

Referencia

MenuItem

Conceptos

Información general acerca de los patrones de control de automatización de la interfaz de usuario

Información general sobre tipos de control de UI Automation

Información general sobre UI Automation