Compatibilidad de UI Automation para el tipo de control MenuBar
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 UI Automation con el tipo de control MenuBar. 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 ControlTypeProperty. Las condiciones incluyen directrices específicas para la estructura de árbol de UI Automation , los valores de propiedad de esta y los patrones de control.
Los controles de contenedor de barra de menús son un ejemplo de controles que implementan el tipo de control MenuBar. Las barras de menús proporcionan un medio para que los usuarios activen los comandos y las opciones contenidos en una aplicación.
En las secciones siguientes se definen la estructura de árbol, las propiedades, los patrones de control y los eventos para el tipo de control MenuBar de UI Automation necesarios. 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 barra 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, consulte Introducción al árbol de automatización de la interfaz de usuario.
Vista de control | Vista de contenido |
---|---|
MenuBar - MenuItem (1 o más) - Otros controles (0 o varios) |
MenuBar - MenuItem (1 o más) - Otros controles (0 o varios) |
Los controles de barra de menús pueden contener otros controles como controles de edición y cuadros combinados dentro de su estructura. Estos controles adicionales corresponden a la categoría "otros controles" que se indica anteriormente en las vistas de control y de contenido.
Propiedades de Automatización de la interfaz de usuario necesarias
La siguiente tabla enumera las propiedades de UI Automation cuyo valor o definición es especialmente relevante para el tipo de control de menú. Para más información sobre las propiedades de automatización de la interfaz de usuario, consulte Propiedades de automatización de la interfaz de usuario: Propiedades para clientes.
Propiedad de automatización de interfaz de usuario | Valor | Notas |
---|---|---|
BoundingRectangleProperty | Vea las notas. | El valor que expone esta propiedad debe incluir todos los controles que se contienen dentro de ella. |
NameProperty | Vea las notas. | El control de barra de menús no necesita un nombre a menos que una aplicación tenga más de una barra de menús. Si hay más de una barra de menús en una aplicación, esta propiedad debe utilizarse para exponer los nombres distintivos, como "Formatting" o "Outlining". |
LabeledByProperty | Null |
Los controles de barra de menús nunca tienen una etiqueta. |
ControlTypeProperty | MenuBar | Este valor es el mismo para todos los marcos de trabajo de la interfaz de usuario. |
LocalizedControlTypeProperty | "barra de menús" | Cadena localizada que corresponde al tipo de control MenuBar. |
IsContentElementProperty | True | El control de menú siempre se incluye en la vista de contenido del árbol de automatización de la interfaz de usuario. |
IsControlElementProperty | True | La barra de control de menú siempre se incluye en la vista de control del árbol de UI Automation. |
IsOffscreenProperty | Vea las notas. | El valor de esta propiedad depende de si el control es visible en la pantalla. |
OrientationProperty | Depende | Esta propiedad expone si el control de barra de menús es horizontal o vertical. |
IsKeyboardFocusableProperty | True | Los controles de barra de menús pueden recibir el foco del teclado porque los controles que contienen pueden recibir el foco de teclado. |
HelpTextProperty | Vea las notas. | No hay escenarios en los que sea necesario texto de ayuda para un control de barra de menús. |
AcceleratorKeyProperty | Null |
Las barras de menús nunca tienen teclas de aceleración. |
AccessKeyProperty | "Alt" | Al presionar la tecla Alt, el foco siempre debe pasar a la barra de menús de dentro de la aplicación. |
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 requeridos para ser admitidos por los controles de la barra de menú. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.
Patrón de control | Soporte técnico | Notas |
---|---|---|
IExpandCollapseProvider | Depende | Si el control se puede expandir o contraer, implemente IExpandCollapseProvider. |
IDockProvider | Depende | Si el control se puede acoplar a diferentes partes de la pantalla, implemente IDockProvider. |
ITransformProvider | Depende | Si el control puede cambiar de tamaño, girarse o moverse, debe implementar ITransformProvider. |
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 barra 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 |
---|---|---|
Evento cambiado por propiedadBoundingRectangleProperty . | Obligatorio | None |
Evento cambiado por propiedadIsOffscreenProperty . | Obligatorio | None |
Evento cambiado por propiedadIsEnabledProperty . | Obligatorio | None |
Evento cambiado por propiedadExpandCollapseStateProperty . | Depende | None |
AutomationFocusChangedEvent | Obligatorio | None |
StructureChangedEvent | Obligatorio | None |