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