Compatibilidad de UI Automation para el tipo de control MenuItem
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 MenuItem. Describe la estructura de árbol de automatización de la interfaz de usuario de Microsoft del control y ofrece las propiedades y los patrones de control que son necesarios 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 de Microsoft Windows típica, una barra de menús contiene varios elementos de menú (como Archivo, Editary Ventana) y cada elemento de menú muestra un menú. Un menú contiene una colección de elementos de menú (como Nuevo, Abiertoy Cerrar), que se puede expandir para mostrar elementos de menú adicionales o realizar una acción específica cuando se haga clic en ella. Un elemento de menú se pueden hospedar en un menú, barra de menús o barra de herramientas.
En las secciones siguientes se definen 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 MenuItem. Los requisitos de automatización de la interfaz de usuario se aplican a todos los controles de lista, 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 elemento de menú y se describe lo que puede incluirse en cada vista. Para más información sobre el árbol de automatización de la interfaz de usuario, vea UI Automation Tree Overview.
Vista de control | Vista de contenido |
---|---|
MenuItem "Ayuda"
|
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 automatización de la interfaz de usuario mostrada arriba. Tenga en cuenta que se incluye el elemento de menú Ayuda para ilustrar mejor la estructura en una jerarquía típica de menú a submenú.
Para la vista de contenido, el menú no aparece en el árbol de automatización de la interfaz de usuario porque no transmite información significativa al usuario final.
Propiedades de Automatización de la interfaz de usuario necesarias
En la tabla siguiente se muestran las propiedades de automatización de la interfaz de usuario cuyo valor o definición es especialmente relevante para los controles de elemento de menú. Para más información sobre las propiedades de automatización de la interfaz de usuario, vea UI Automation Properties for Clients.
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 | 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. |
IsKeyboardFocusableProperty | Vea las notas. | Si el control puede recibir el foco del teclado, debe admitir esta propiedad. |
NameProperty | Vea las notas. | El control de elemento de menú se incluye en la vista de contenido del árbol de automatización de la interfaz de usuario y tiene como etiqueta propia un nombre. |
LabeledByProperty | Null |
Sin etiqueta. |
ControlTypeProperty | MenuItem | Este valor es el mismo para todos los marcos de trabajo de la 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 automatización de la interfaz de usuario. |
IsControlElementProperty | True | El control de elemento de menú se debe incluir siempre en la vista de control del árbol de Automatización de interfaz de usuario. |
Patrones de control de Automatización de la interfaz de usuario necesarios
En la tabla siguiente se muestran los patrones de control de automatización de la interfaz de usuario que se deben admitir por los controles de elemento de menú. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.
Propiedad de patrón de control | Soporte técnico | Notas |
---|---|---|
IExpandCollapseProvider | Depende | Si el control se puede expandir o contraer, implemente IExpandCollapseProvider. |
IInvokeProvider | Depende | Si el control ejecuta un acción o comando único, 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 seleccionar de una lista de opciones entre los elementos de menú, implemente ISelectionItemProvider. |
Eventos de automatización de la interfaz de usuario para elemento de menú
En la tabla siguiente se muestran los eventos de automatización de la interfaz de usuario de Microsoft asociados al control de elemento de menú.
Evento | Soporte técnico | Explicación |
---|---|---|
InvokedEvent | Depende | Se debe generar si el control admite el patrón de control Invoke. |
Evento cambiado por propiedadToggleStateProperty . | Depende | Se debe generar si el control admite el patrón de control Toggle. |
Evento cambiado por propiedadExpandCollapseStateProperty . | Depende | Se debe generar si el control admite el patrón de control Expand Collapse. |
ElementSelectedEvent | Depende | Ninguno. |
Eventos de Automatización de la interfaz de usuario necesarios
En la siguiente tabla se muestra los eventos de automatización de la interfaz de usuario que se deben admitir por todos los controles de elemento de menú. Para más información sobre los eventos, vea UI Automation Events Overview.
Evento de automatización de la interfaz de usuario | Soporte técnico/valor | Notas |
---|---|---|
InvokedEvent | Depende | None |
ElementAddedToSelectionEvent | Depende | None |
ElementRemovedFromSelectionEvent | Depende | None |
ElementSelectedEvent | Depende | None |
Evento cambiado por propiedadBoundingRectangleProperty . | Obligatorio | None |
Evento cambiado por propiedadIsOffscreenProperty . | Obligatorio | None |
Evento cambiado por propiedadIsEnabledProperty . | Obligatorio | None |
Evento cambiado por propiedadExpandCollapseStateProperty . | Depende | None |
Evento cambiado por propiedadToggleStateProperty . | Depende | None |
AutomationFocusChangedEvent | Obligatorio | None |
StructureChangedEvent | Obligatorio | None |
Problemas heredados
Solo se admitirá Toggle Pattern cuando se compruebe el elemento de menú de Win32 y se pueda determinar mediante programación que es necesario admitir Toggle Pattern. Dado que el elemento de menú de Win32 no expone si tiene la capacidad de comprobarse, se admitirá Invoke Pattern cuando el elemento de menú no esté activado. Se realizará una excepción para admitir siempre Invoke Pattern incluso para elementos de menú que solo deberían admitir Toggle Pattern. Esto es para que los clientes no se confundan en que un elemento que admitía Invoke Pattern (cuando el elemento de menú estaba desactivado) ya no admite el patrón cuando se activa.