Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.
В этом разделе приводятся рекомендации и соглашения о реализации ISelectionProvider, включая сведения о событиях и свойствах. Ссылки на дополнительные ссылки перечислены в конце раздела.
Шаблон SelectionPattern элемента управления используется для поддержки элементов управления, которые действуют в качестве контейнеров для коллекции выбранных дочерних элементов. Потомки этого элемента должны реализовать ISelectionItemProvider. Примеры элементов управления, реализующих этот шаблон, см. в разделе Сопоставление шаблонов элементов управления для клиентов автоматизации пользовательского интерфейса.
Рекомендации по реализации и соглашения
При реализации шаблона элемента управления "Выбор" обратите внимание на следующие рекомендации и соглашения:
Элементы управления, которые реализуют ISelectionProvider, позволяют выбрать один или несколько дочерних элементов. Например, поле списка, представление списка и представление дерева поддерживают несколько вариантов выбора, в то время как поле со списком, ползунок и группа переключателей поддерживают один выбор.
Элементы управления с минимальным, максимальным и непрерывным диапазоном, такими как элемент управления "Ползунок тома ", должны реализовываться IRangeValueProvider вместо ISelectionProvider.
Элементы управления с единственным выделением, которые управляют дочерними элементами управления, реализующими IRawElementProviderFragmentRoot, например, ползунок разрешения экрана в диалоговом окне "Свойства отображения" или элемент управления выбора цвета из Microsoft Word (иллюстрировано ниже), должны реализовывать ISelectionProvider; а их дочерние элементы должны реализовывать как IRawElementProviderFragment, так и ISelectionItemProvider.
Пример сопоставления строк образца цвета
- Меню не поддерживает SelectionPattern. Если вы работаете с элементами меню, которые включают графику и текст (например, элементы области предварительного просмотра в меню "Вид " в Microsoft Outlook) и должны передавать состояние, следует реализовать IToggleProvider.
Обязательные члены для ISelectionProvider
Для интерфейса ISelectionProvider требуются следующие свойства, методы и события.
Обязательные участники | Тип | Примечания. |
---|---|---|
CanSelectMultiple | Недвижимость | Должна поддерживать события изменения свойств с помощью AddAutomationPropertyChangedEventHandler и RemoveAutomationPropertyChangedEventHandler. |
IsSelectionRequired | Недвижимость | Должна поддерживать события изменения свойств с помощью AddAutomationPropertyChangedEventHandler и RemoveAutomationPropertyChangedEventHandler. |
GetSelection | Метод | Отсутствует |
InvalidatedEvent | Событие | Возникает, когда выбор в контейнере значительно изменился и требует отправки большего количества событий добавления и удаления, чем позволяет константа InvalidateLimit. |
Свойства IsSelectionRequired и CanSelectMultiple могут быть динамическими. Например, начальное состояние элемента управления может не иметь элементов, выбранных по умолчанию, что указывает, что IsSelectionRequired является false
. Однако после выбора элемента элемент управления всегда должен иметь по крайней мере один элемент. Аналогичным образом, в редких случаях элемент управления может разрешить выбор нескольких элементов при инициализации, но впоследствии разрешить только одно выделение.
Исключения
Поставщики должны генерировать следующие исключения.
Тип исключения | Состояние |
---|---|
ElementNotEnabledException | Если элемент управления не включен. |
InvalidOperationException | Если элемент управления скрыт. |
См. также
- Обзор шаблонов управления автоматизацией пользовательского интерфейса
- Поддержка шаблонов управления в поставщике автоматизации пользовательского интерфейса
- Шаблоны элементов управления автоматизации пользовательского интерфейса для клиентов
- Реализация шаблона элемента управления автоматизации пользовательского интерфейса SelectionItem
- Обзор дерева автоматизации пользовательского интерфейса
- Использование кэширования в автоматизации пользовательского интерфейса