Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.
В этом разделе приводятся рекомендации и соглашения о реализации IGridProvider, включая сведения о свойствах, методах и событиях. Ссылки на дополнительные ссылки перечислены в конце обзора.
Шаблон GridPattern элемента управления используется для поддержки элементов управления, которые служат контейнерами для коллекции дочерних элементов. Дочерние элементы этого элемента должны реализовать IGridItemProvider и быть упорядочены в двухмерной логической координатной системе, через которую можно перемещаться по строкам и столбцам. Примеры элементов управления, реализующих этот шаблон, см. в разделе Сопоставление шаблонов элементов управления для клиентов автоматизации пользовательского интерфейса.
Рекомендации по реализации и соглашения
При реализации шаблона элемента управления Grid обратите внимание на следующие рекомендации и соглашения:
Координаты сетки начинаются с нуля, где верхняя левая (или верхняя правая ячейка в зависимости от языкового стандарта) имеет координаты (0, 0).
Если ячейка пуста, элемент автоматизации пользовательского интерфейса должен быть возвращен для поддержки ContainingGrid свойства для этой ячейки. Это возможно, если макет дочерних элементов в сетке похож на неровный массив (см. пример ниже).
Пример элемента управления Grid с пустыми координатами
Сетка с одним элементом по-прежнему требуется для реализации IGridProvider , если она логически считается сеткой. Число дочерних элементов в сетке является нематериальным.
Скрытые строки и столбцы могут быть загружены в дерево автоматизации пользовательского интерфейса в зависимости от реализации поставщика и, следовательно, будут отражены в свойствах RowCount и ColumnCount. Если скрытые строки и столбцы еще не загружены, их не следует считать.
IGridProvider не включает активную обработку сетки; ITransformProvider необходимо реализовать, чтобы включить эту функцию.
Используйте StructureChangedEventHandler, чтобы отслеживать структурные или макетные изменения сетки, такие как ячейки, которые были добавлены, удалены или объединены.
Используйте AutomationFocusChangedEventHandler для отслеживания обхода элементов или ячеек сетки.
Обязательные элементы для IGridProvider
Для реализации интерфейса IGridProvider требуются следующие свойства и методы.
Обязательные участники | Тип | Примечания. |
---|---|---|
RowCount | Недвижимость | Отсутствует |
ColumnCount | Недвижимость | Отсутствует |
GetItem | Метод | Отсутствует |
Этот шаблон элемента управления не имеет связанных событий.
Исключения
Поставщики должны генерировать следующие исключения.
Тип исключения | Состояние |
---|---|
ArgumentOutOfRangeException | GetItem — Если запрошенная координата строки больше, чем RowCount, или координата столбца больше, чем ColumnCount. |
ArgumentOutOfRangeException | GetItem — Если любой из запрошенных координат строк или столбцов меньше нуля. |
См. также
- Обзор шаблонов управления автоматизацией пользовательского интерфейса
- Поддержка шаблонов управления в поставщике автоматизации пользовательского интерфейса
- Шаблоны элементов управления автоматизации пользовательского интерфейса для клиентов
- Реализация шаблона элемента управления GridItem для автоматизации пользовательского интерфейса
- Обзор дерева автоматизации пользовательского интерфейса
- Использование кэширования в автоматизации пользовательского интерфейса