Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.
В этом разделе содержатся сведения о поддержке службы автоматизации пользовательского интерфейса Майкрософт для типа элемента управления MenuItem. Он описывает структуру дерева Microsoft UI Automation для элемента управления, предоставляя свойства и шаблоны элементов управления, необходимые для типа элемента управления MenuItem.
Элемент управления меню позволяет иерархической организации элементов, связанных с командами и обработчиками событий. В типичном приложении Microsoft Windows строка меню содержит несколько элементов меню (например , "Файл", "Изменить" и "Окно"), а каждый пункт меню отображает меню. Меню содержит коллекцию элементов меню (например, Создать, Открытьи Закрыть), которые можно развернуть для отображения дополнительных элементов меню или выполнения определенного действия при щелчке. Элемент меню можно разместить в меню, строке меню или панели инструментов.
В следующих разделах определяется необходимая структура дерева автоматизации пользовательского интерфейса, свойства, шаблоны элементов управления и события для типа элемента управления MenuItem. Требования к автоматизации пользовательского интерфейса применяются ко всем элементам управления списками, будь то Windows Presentation Foundation (WPF), Win32 или Windows Forms.
Требуемая структура дерева автоматизации пользовательского интерфейса
В следующей таблице показано представление элемента управления и представление содержимого дерева автоматизации пользовательского интерфейса, относящегося к элементам управления элементами меню, и описывает, что можно содержать в каждом представлении. Дополнительные сведения о дереве автоматизации пользовательского интерфейса см. в разделе "Обзор дерева автоматизации пользовательского интерфейса".
Вид управления | Просмотр содержимого |
---|---|
MenuItem "Справка"
|
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 (когда элемент меню был снят) больше не поддерживает шаблон после его проверки.
См. также
- MenuItem
- Обзор шаблонов управления автоматизацией пользовательского интерфейса
- Общие сведения о типах элементов управления автоматизации пользовательского интерфейса
- Обзор автоматизации пользовательского интерфейса