Шаблон элемента управления "Выбор"

Описание рекомендаций и соглашений по реализации ISelectionProvider, включая сведения о свойствах, методах и событиях. Шаблон элемента управления Selection используется для поддержки элементов управления, которые выступают в качестве контейнеров для коллекции выбираемых дочерних элементов. Дочерние элементы этого элемента должны реализовывать ISelectionItemProvider.

Примеры элементов управления, реализующих этот шаблон элемента управления, см. в разделе Типы элементов управления и поддерживаемые ими шаблоны элементов управления.

В этом разделе содержатся следующие подразделы.

Правила и соглашения реализации

При реализации шаблона элемента управления Выбор обратите внимание на следующие рекомендации и соглашения.

  • Элементы управления, реализующие ISelectionProvider , позволяют выбирать один или несколько дочерних элементов. Например, списки, представления списков и представления в виде дерева поддерживают множественный выбор, тогда как поля со списком, ползунки и группы переключателей поддерживают один выбор.

  • Элементы управления с минимальным, максимальным и непрерывным диапазоном, например ползунок громкости проигрывателя мультимедиа, должны реализовывать IRangeValueProvider вместо ISelectionProvider.

  • Элементы управления с одним выбором, управляющие дочерними элементами управления, реализующими IRawElementProviderFragmentRoot, например ползунок Разрешение экрана в диалоговом окне "Свойства отображения" для Windows или элемент управления "Выбор цвета" от Microsoft Word (см. следующий рисунок), должны реализовывать ISelectionProvider; их дочерние элементы должны реализовывать как IRawElementProviderFragment, так и ISelectionItemProvider.

    Изображение, показывающее пример сопоставления строки цветовой гаммы

  • Меню не поддерживают шаблон элемента управления "Выбор ". Если вы работаете с элементами меню, которые включают как графику, так и текст (например, элементы области просмотра в меню Вид в Microsoft Outlook) и должны передавать состояние, следует реализовать IToggleProvider.

Обязательные члены для ISelectionProvider

Для реализации интерфейса ISelectionProvider требуются следующие свойства, методы и события.

Обязательные члены Тип члена Примечания
CanSelectMultiple Свойство Нет
IsSelectionRequired Свойство Нет
GetSelection Метод Нет
UIA_Selection_InvalidatedEventId Событие Вызывает это событие, если выделение в контейнере значительно изменилось.

 

Свойства ISelectionProvider::IsSelectionRequired и CanSelectMultiple могут быть динамическими. Например, начальное состояние элемента управления может не содержать элементов, выбранных по умолчанию, что указывает, что isSelectionRequired имеет значение false. Однако после выбора элемента элемент управления всегда должен иметь хотя бы один выбранный элемент. В редких случаях элемент управления также может разрешать выбор нескольких элементов при инициализации, но впоследствии разрешает выбор только одного элемента.

Типы элементов управления и поддерживаемые ими шаблоны элементов управления

Шаблон элемента управления SelectionItem

Общие сведения о шаблонах элементов управления модели автоматизации пользовательского интерфейса

Общие сведения о дереве модели автоматизации пользовательского интерфейса