Внедрение шаблона элемента управления "SelectionItem" для автоматизации пользовательского интерфейса
Заметка
Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.
В этом разделе приводятся рекомендации и соглашения о реализации ISelectionItemProvider, включая сведения о свойствах, методах и событиях. Ссылки на дополнительные ссылки перечислены в конце обзора.
Шаблон элемента управления SelectionItemPattern используется для поддержки элементов управления, которые выполняют роль отдельных, выбираемых дочерних элементов элементов управления контейнера, реализующих ISelectionProvider. Примеры элементов управления, реализующих шаблон элемента управления SelectionItem, см. в разделе Сопоставление шаблонов элементов управления для клиентов автоматизации пользовательского интерфейса.
Рекомендации по реализации и соглашения
При реализации шаблона элемента управления "Выбор элементов" обратите внимание на следующие рекомендации и соглашения:
- Элементы управления одним выбором, которые управляют дочерними элементами управления, реализующими IRawElementProviderFragmentRoot, например ползунок разрешения экрана в диалоговом окне отображение свойств, должен реализовать ISelectionProvider, а их дочерние элементы должны реализовать как IRawElementProviderFragment, так и ISelectionItemProvider.
Обязательные члены для ISelectionItemProvider
Для реализации ISelectionItemProviderтребуются следующие свойства, методы и события.
Обязательные участники | Тип участника | Примечания |
---|---|---|
IsSelected | Свойство | Никакой |
SelectionContainer | Свойство | Никакой |
AddToSelection | Метод | Никакой |
RemoveFromSelection | Метод | Никакой |
Select | Метод | Никакой |
ElementSelectedEvent | Событие | Вызывается, когда изменение выбора приводит к единственному выбранному элементу. |
ElementAddedToSelectionEvent | Событие | Вызывается при добавлении элемента в контейнер с несколькими выборами. |
ElementRemovedFromSelectionEvent | Событие | Вызывается при удалении элемента из контейнера для множественного выбора. |
InvalidatedEvent | Событие | Это случается, когда выбор в контейнере значительно меняется и требует отправки большего числа ElementSelectedEvent и ElementRemovedFromSelectionEvent событий, чем позволяет константа InvalidateLimit. |
- Если операция Select, AddToSelectionили RemoveFromSelection приводит к одному выбранному элементу, произведите ElementSelectedEvent; в противном случае произведите ElementAddedToSelectionEvent или ElementRemovedFromSelectionEvent в зависимости от ситуации.
Исключения
Поставщики должны генерировать следующие исключения.
Тип исключения | Состояние |
---|---|
InvalidOperationException | При попытке выполнить одно из следующих действий: - RemoveFromSelection вызывается в контейнере с одним выделением, где IsSelectionRequiredProperty = true и элемент уже выбран.- RemoveFromSelection вызывается в контейнере с несколькими выборами, где IsSelectionRequiredProperty = true и выбран только один элемент.- AddToSelection вызывается в контейнере с одним выбранным элементом, где CanSelectMultipleProperty = false и еще один элемент уже выбран. |
См. также
- Обзор шаблонов элементов управления автоматизации пользовательского интерфейса
- Поддержка шаблонов управления в поставщике автоматизации пользовательского интерфейса
- Шаблоны элементов управления автоматизации пользовательского интерфейса для клиентов
- Реализация элемента управления выбором с использованием шаблона автоматизации пользовательского интерфейса
- Обзор дерева автоматизации пользовательского интерфейса
- Использование кэширования в автоматизации пользовательского интерфейса
- Пример поставщика фрагментов