Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Замечание
Эта документация предназначена для разработчиков .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
- Обзор дерева автоматизации пользовательского интерфейса
- Использование кэширования в автоматизации пользовательского интерфейса