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


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

Примечание.

Эта документация предназначена для разработчиков .NET Framework, желающих использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в статье API автоматизации Windows. Автоматизация пользовательского интерфейса.

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

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

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

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

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

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

Windows Explorer view showing ragged layout. Пример элемента управления Сетки с пустыми координатами

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

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

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

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

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

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

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

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

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

Исключения

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

Тип исключения Condition
ArgumentOutOfRangeException GetItem

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

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

См. также