Поделиться через


Поддержка автоматизации пользовательского интерфейса для типа элемента управления MenuItem

Замечание

Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.

В этом разделе содержатся сведения о поддержке службы автоматизации пользовательского интерфейса Майкрософт для типа элемента управления MenuItem. Он описывает структуру дерева Microsoft UI Automation для элемента управления, предоставляя свойства и шаблоны элементов управления, необходимые для типа элемента управления MenuItem.

Элемент управления меню позволяет иерархической организации элементов, связанных с командами и обработчиками событий. В типичном приложении Microsoft Windows строка меню содержит несколько элементов меню (например , "Файл", "Изменить" и "Окно"), а каждый пункт меню отображает меню. Меню содержит коллекцию элементов меню (например, Создать, Открытьи Закрыть), которые можно развернуть для отображения дополнительных элементов меню или выполнения определенного действия при щелчке. Элемент меню можно разместить в меню, строке меню или панели инструментов.

В следующих разделах определяется необходимая структура дерева автоматизации пользовательского интерфейса, свойства, шаблоны элементов управления и события для типа элемента управления MenuItem. Требования к автоматизации пользовательского интерфейса применяются ко всем элементам управления списками, будь то Windows Presentation Foundation (WPF), Win32 или Windows Forms.

Требуемая структура дерева автоматизации пользовательского интерфейса

В следующей таблице показано представление элемента управления и представление содержимого дерева автоматизации пользовательского интерфейса, относящегося к элементам управления элементами меню, и описывает, что можно содержать в каждом представлении. Дополнительные сведения о дереве автоматизации пользовательского интерфейса см. в разделе "Обзор дерева автоматизации пользовательского интерфейса".

Вид управления Просмотр содержимого
MenuItem "Справка"

  • Меню (подменю элемента меню "Справка")

    • MenuItem "Разделы справки"
    • MenuItem "О программе Notepad"
MenuItem "Справка"

— Пункт меню "Разделы справки"
- Пункт меню "О программе Блокнот"

Представление элемента управления меню содержит структуру дерева автоматизации пользовательского интерфейса, показанную выше. Обратите внимание, что элемент меню Помощь включен для лучшей демонстрации структуры в типичном меню и иерархии подменю.

В отображении содержимого Меню отсутствует в дереве автоматической обработки пользовательского интерфейса, так как оно не передает значимую информацию для конечного пользователя.

Обязательные свойства автоматизации пользовательского интерфейса

В следующей таблице перечислены свойства автоматизации пользовательского интерфейса, значение или определение которых особенно важно для элементов управления элементами меню. Дополнительные сведения о свойствах автоматизации пользовательского интерфейса см. в разделе "Свойства автоматизации пользовательского интерфейса" для клиентов.

Недвижимость Ценность Описание
AutomationIdProperty См. заметки. Значение этого свойства должно быть уникальным для всех элементов управления в приложении.
BoundingRectangleProperty См. заметки. Самый внешний прямоугольник, содержащий весь элемент управления.
ClickablePointProperty См. заметки. Поддерживается, если существует ограничивающий прямоугольник. Если не на каждую точку в ограничивающем прямоугольнике можно щелкнуть, и вы проводите специализированную проверку на попадание, то переопределите и укажите точку, на которую можно щелкнуть.
IsKeyboardFocusableProperty См. заметки. Если элемент управления может получить фокус клавиатуры, он должен поддерживать это свойство.
NameProperty См. заметки. Элемент управления меню присутствует в представлении содержимого дерева автоматизации пользовательского интерфейса и помечен своим именем.
LabeledByProperty Null Нет метки.
ControlTypeProperty Элемент меню Это значение одинаково для всех платформ пользовательского интерфейса.
LocalizedControlTypeProperty Пункт меню Локализованная строка, соответствующая типу элемента управления MenuItem.
IsContentElementProperty Верно Элемент управления элементом меню никогда не включается в представление содержимого дерева автоматизации пользовательского интерфейса.
IsControlElementProperty Верно Элемент меню должен всегда быть включен в контрольное представление в дереве автоматизации пользовательского интерфейса.

Обязательные шаблоны элементов управления автоматизации пользовательского интерфейса

В следующей таблице перечислены шаблоны элементов управления автоматизации пользовательского интерфейса, которые должны поддерживаться элементами управления элементами меню. Дополнительные сведения о шаблонах элементов управления см. в шаблонах элементов управления автоматизации пользовательского интерфейса.

Свойство шаблона управления Поддержка Примечания.
IExpandCollapseProvider Зависит Если элемент управления можно развернуть или свернуть, внедрите IExpandCollapseProvider.
IInvokeProvider Зависит Если элемент управления выполняет одно действие или команду, реализуйте IInvokeProvider.
IToggleProvider Зависит Если элемент управления представляет параметр, который можно включить или отключить, реализуйте IToggleProvider.
ISelectionItemProvider Зависит Если элемент управления используется для выбора из списка параметров между элементами меню, реализуйте ISelectionItemProvider.

События автоматизации пользовательского интерфейса для элемента меню

В следующей таблице перечислены события автоматизации пользовательского интерфейса Майкрософт, связанные с элементом управления меню.

Событие Поддержка Объяснение
InvokedEvent Зависит Должно быть выполнено, если элемент управления поддерживает шаблон управления Invoke.
ToggleStateProperty событие изменения свойства. Зависит Следует вызывать, если элемент управления поддерживает шаблон управления Toggle.
ExpandCollapseStateProperty событие изменения свойства. Зависит Должно быть активировано, если элемент управления поддерживает шаблон "Развернуть/свернуть".
ElementSelectedEvent Зависит Нет.

Обязательные события автоматизации пользовательского интерфейса

В следующей таблице перечислены события автоматизации пользовательского интерфейса, которые должны поддерживаться всеми элементами управления элементами меню. Дополнительные сведения о событиях см. в обзоре событий автоматизации пользовательского интерфейса.

Событие автоматизации пользовательского интерфейса Поддержка и значение Примечания.
InvokedEvent Зависит Отсутствует
ElementAddedToSelectionEvent Зависит Отсутствует
ElementRemovedFromSelectionEvent Зависит Отсутствует
ElementSelectedEvent Зависит Отсутствует
BoundingRectangleProperty событие изменения свойства. Обязательно Отсутствует
IsOffscreenProperty событие изменения свойства. Обязательно Отсутствует
IsEnabledProperty событие изменения свойства. Обязательно Отсутствует
ExpandCollapseStateProperty событие изменения свойства. Зависит Отсутствует
ToggleStateProperty событие изменения свойства. Зависит Отсутствует
AutomationFocusChangedEvent Обязательно Отсутствует
StructureChangedEvent Обязательно Отсутствует

Устаревшие проблемы

Шаблон переключения будет поддерживаться только в том случае, если выбран элемент меню Win32 и когда необходимость в поддержке Шаблона переключения может быть программно определена. Так как элемент меню Win32 не показывает, есть ли возможность его отметить, шаблон вызова будет поддерживаться, когда элемент меню не отмечен. Исключение будет сделано, чтобы шаблон вызова поддерживался всегда, даже для тех элементов меню, которые должны поддерживать только шаблон переключения. Это так, что клиенты не путаются, что элемент, поддерживающий шаблон Invoke (когда элемент меню был снят) больше не поддерживает шаблон после его проверки.

См. также