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


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

Примечание.

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

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

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

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

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

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

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

  • Menu (подменю из меню "Справка")

    • MenuItem "Вызов справки"
    • MenuItem "О Блокноте"
MenuItem "Справка"

— MenuItem "Разделы справки"
- MenuItem "О Блокнот"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Проблемы прежних версий

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

См. также