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

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

Дочерние элементы этого элемента должны реализовывать IGridItemProvider и быть упорядочены в двумерную логическую систему координат, которая может быть пройдена по строкам и столбцам. Примеры элементов управления, реализующих этот шаблон, см. в разделах Типы элементов управления и поддерживаемые ими шаблоны элементов управления.

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

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

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

  • Координаты сетки отсчитываются от нуля, а верхняя левая (или верхняя правая ячейка в зависимости от языкового стандарта) имеет координаты (0,0).

  • Если ячейка пуста, необходимо вернуть элемент Microsoft модель автоматизации пользовательского интерфейса для поддержки свойства IGridItemProvider::ContainingGrid для этой ячейки. Это возможно, когда макет дочерних элементов сетки подобен массиву с переменной длиной (см. пример ниже).

    Пример элемента управления

  • Сетка с одним элементом по-прежнему требуется для реализации IGridProvider , если она логически считается сеткой. Количество дочерних элементов в сетке не имеет значения.

  • Скрытые строки и столбцы в зависимости от реализации поставщика могут быть загружены в дерево модель автоматизации пользовательского интерфейса и, следовательно, будут отражены в свойствах IGridProvider::RowCount и ColumnCount. Если скрытые строки и столбцы еще не загружены, они не должны учитываться.

  • IGridProvider не включает активное управление сеткой; Чтобы включить эту функцию, необходимо реализовать ITransformProvider .

  • Используйте IUIAutomationStructureChangedEventHandler для прослушивания структурных изменений или изменений макета сетки, таких как добавленные, удаленные или объединенные ячейки.

  • Используйте IUIAutomationFocusChangedEventHandler для отслеживания обхода элементов или ячеек сетки.

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

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

Обязательные члены Тип члена Примечания
RowCount Свойство Нет
ColumnCount Свойство Нет
Getitem Метод Нет

 

Этот шаблон элемента управления не имеет связанных событий.

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

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

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

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