Поделиться через


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

ПримечаниеПримечание

Эта документация предназначена для разработчиков на платформе .NET Framework, которым требуется использовать управляемые классы UI Automation, определенные в пространстве имен System.Windows.Automation.Последние сведения о UI Automation см. на веб-странице Windows Automation API: UI Automation.

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

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

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

  • Правила и соглашения по реализации
  • Обязательные члены для IGridProvider
  • Исключения
  • Связанные разделы

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

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

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

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

Пример табличного элемента управления с пустыми координатами

Windows Explorer, отображающий неровную структуру.

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

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

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

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

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

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

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

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

Тип

Примечания

RowCount

Свойство

Нет

ColumnCount

Свойство

Нет

GetItem

Метод

Нет

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

Исключения

Поставщики должны вызывать следующие исключения.

Тип исключения

Атрибут Condition

ArgumentOutOfRangeException

GetItem

  • Если запрошенная координата строки больше, чем RowCount или координата столбца больше, чем ColumnCount.

ArgumentOutOfRangeException

GetItem

  • Если любая из запрошенных координат строки или столбца меньше нуля.

См. также

Задачи

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

Использование кэширования в модели автоматизации пользовательского интерфейса

Основные понятия

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

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

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

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