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


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

ПримечаниеПримечание

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

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

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

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

В этом разделе содержатся следующие подразделы.

  • Обязательная древовидная структура модели автоматизации пользовательского интерфейса
  • Требуемые свойства модели автоматизации пользовательского интерфейса
  • Требуемые шаблоны элементов управления модели автоматизации пользовательского интерфейса
  • События модели автоматизации пользовательского интерфейса для пункта меню
  • Требуемые события модели автоматизации пользовательского интерфейса
  • Вопросы прежних версий
  • Связанные разделы

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

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

Представление элемента управления

Представление содержимого

Пункт меню "Справка"

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

    • Пункт меню "Разделы Справки"

    • Пункт меню "О блокноте"

Пункт меню "Справка"

  • Пункт меню "Разделы Справки"

  • Пункт меню "О блокноте"

Вид элемента управления пункта меню имеет древовидную структуру UI Automation, показанную выше. Обратите внимание, что пункт меню Справка включается для обеспечения более наглядной иллюстрации структуры в типовой иерархии "меню–подменю".

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

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

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

Свойство

Значение

Описание

AutomationIdProperty

См. примечания.

Значение этого свойства должно быть уникальным для каждого элемента управления в приложении.

BoundingRectangleProperty

См. примечания.

Внешний прямоугольник, содержащий весь элемент управления.

ClickablePointProperty

См. примечания.

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

IsKeyboardFocusableProperty

См. примечания.

Если элемент управления может получать фокус клавиатуры, он должен поддерживать это свойство.

NameProperty

См. примечания.

Элемент управления "пункт меню" включается в представление содержимого дерева UI Automation и помечается именем.

LabeledByProperty

Null

Метка отсутствует

ControlTypeProperty

MenuItem

Это значение одинаково для всех структур пользовательского интерфейса.

LocalizedControlTypeProperty

"элемент меню"

Локализованная строка, соответствующая типу элемента управления MenuItem.

IsContentElementProperty

True

Элемент управления "пункт меню" никогда не включается в представление содержимого дерева UI Automation.

IsControlElementProperty

True

Элемент управления "пункт меню" всегда должен включаться в представление элемента управления дерева UI Automation.

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

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

Свойство шаблона элемента управления

Поддержка

Примечания

IExpandCollapseProvider

Зависит от конкретного случая

Если элемент управления может быть развернут или свернут, реализуйте IExpandCollapseProvider.

IInvokeProvider

Зависит от конкретного случая

Если элемент управления выполняет одиночное действие или команду, реализуйте IInvokeProvider.

IToggleProvider

Зависит от конкретного случая

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

ISelectionItemProvider

Зависит от конкретного случая

Если элемент управления используется для выбора из списка параметров между пунктами меню, реализуйте ISelectionItemProvider.

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

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

Событие

Поддержка

Объяснение

InvokedEvent

Зависит от конкретного случая

Должно вызываться, если элемент управления поддерживает шаблон элемента управления Invoke.

Событие, изменяемое свойством ToggleStateProperty.

Зависит от конкретного случая

Должно вызываться, если элемент управления поддерживает шаблон элемента управления Toggle.

Событие, изменяемое свойством ExpandCollapseStateProperty.

Зависит от конкретного случая

Должно вызываться, если элемент управления поддерживает шаблон элемента управления Expand Collapse.

ElementSelectedEvent

Зависит от конкретного случая

Отсутствует.

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

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

Событие UI Automation

Поддержка/значение

Примечания

InvokedEvent

Зависит от конкретного случая

Нет

ElementAddedToSelectionEvent

Зависит от конкретного случая

Нет

ElementRemovedFromSelectionEvent

Зависит от конкретного случая

Нет

ElementSelectedEvent

Зависит от конкретного случая

Нет

Событие, изменяемое свойством BoundingRectangleProperty.

Обязательно

Нет

Событие, изменяемое свойством IsOffscreenProperty.

Требуется

Нет

Событие, изменяемое свойством IsEnabledProperty.

Требуется

Нет

Событие, изменяемое свойством ExpandCollapseStateProperty.

Зависит от конкретного случая

Нет

Событие, изменяемое свойством ToggleStateProperty.

Зависит от конкретного случая

Нет

AutomationFocusChangedEvent

Обязательно

Нет

StructureChangedEvent

Обязательно

Нет

Вопросы прежних версий

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

См. также

Ссылки

MenuItem

Основные понятия

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

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

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