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


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

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

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

В этом разделе содержатся сведения о поддержке моделью Microsoft UI Automation элемента управления типа DataGrid. В объекте UI Automation тип элемента управления представляет собой набор условий, которым должен удовлетворять элемент управления, чтобы использовать свойство ControlType. К этим условиям относятся конкретные правила для древовидной структуры UI Automation, значений свойств UI Automation и шаблонов элементов управления.

Тип элемента управления DataGrid позволяет пользователю легко работать с элементами, содержащими метаданные, представленные в столбцах. В элементе управления Data Grid есть строки элементов и столбцы сведений об этих элементах. Элемент управления List View в Microsoft Vista Explorer является примером, поддерживающим тип элемента управления DataGrid.

В следующих разделы определена необходимая древовидную структура UI Automation, свойства, шаблоны управления и события для типа элемента управления DataGrid. Требования UI Automation применяются ко всем DataGrid элементам управления, как к Windows Presentation Foundation (WPF), Win32, так и к Windows Forms.

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

  • Обязательная древовидная структура модели автоматизации пользовательского интерфейса
  • Обязательные свойства модели автоматизации пользовательского интерфейса
  • Обязательные шаблоны элементов управления модели автоматизации пользовательского интерфейса
  • Обязательные события автоматизации пользовательского интерфейса
  • Пример типа элемента управления DataGrid
  • Связанные разделы

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

В следующей таблице описывается представление элемента управления и представление содержимого для дерева UI Automation, которые соответствуют элементам управления типа Group, а также возможное содержимое в каждом представлении. Дополнительные сведения о дереве UI Automation см. в разделе Общие сведения о дереве модели автоматизации пользовательского интерфейса.

Дерево UI Automation — представление элемента управления

Дерево UI Automation — представление содержимого

DataGrid

  • Header (0, 1 или 2)

    • HeaderItem (число столбцов или строк)

  • DataItem (0 или больше; могут быть иерархически структурированы)

DataGrid

  • DataItem (0 или больше; могут быть иерархически структурированы)

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

В следующей таблице перечислены свойства, значение или определение которых относится к элементам управления DataGrid. Дополнительные сведения о свойствах UI Automation см. в разделе Свойства автоматизации пользовательского интерфейса для клиентов.

Свойство

Значение

Примечания

AutomationIdProperty

См. примечания.

Значение этого свойства должно быть уникальным для каждого элемента управления в приложении.

BoundingRectangleProperty

См. примечания.

Внешний прямоугольник, содержащий весь элемент управления.

ClickablePointProperty

См. примечания.

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

ControlTypeProperty

DataGrid

Это значение одинаково для всех структур пользовательского интерфейса.

IsContentElementProperty

True

Значением этого свойства всегда должно быть True. Это означает, что элемент управления DataGrid всегда должен быть включен в представление содержимого дерева UI Automation.

IsControlElementProperty

True

Значением этого свойства всегда должно быть True. Это означает, что элемент управления DataGrid всегда должен быть включен в представление элемента управления дерева UI Automation.

IsKeyboardFocusableProperty

См. примечания.

Если элемент управления может получать фокус ввода с клавиатуры, он должен поддерживать это свойство.

LabeledByProperty

См. примечания.

При наличии статической текстовой подписи это свойство должно предоставлять ссылку на этот элемент управления.

LocalizedControlTypeProperty

"data grid"

Локализованная строка, соответствующая типу элемента управления DataGrid.

NameProperty

См. примечания.

Элемент управления DataGrid обычно получает значение для его свойства Name из статического текста метки. Если статической текстовой метки нет, то разработчик приложения должен присвоить значение свойству Name. Значение свойства Name никогда не должно быть текстовым содержимым элемента управления редактирования.

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

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

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

Поддержка

Примечания

IGridProvider

Да

Сам элемент управления DataGrid всегда поддерживает шаблон элемента управления Grid, так как его элементы содержат метаданные, которые располагаются в сетке.

IScrollProvider

Зависит от конкретного случая

Возможность прокрутки DataGrid зависит от содержимого и от наличия полос прокрутки.

ISelectionProvider

Зависит от конкретного случая

Возможность выбора DataGrid зависит от содержимого.

ITableProvider

Да

Элемент DataGrid всегда имеет заголовок в своем поддереве, поэтому должен поддерживаться шаблон элемента управления Table.

Элементы данных внутри контейнеров DataGrid поддерживают как минимум:

  • Шаблон элемента управления Selection Item (если сетка DataGrid является выбираемой)

  • Шаблон элемента управления Scroll Item (если сетка DataGrid является прокручиваемой)

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

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

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

В следующей таблице перечислены события UI Automation, которые должны поддерживаться всеми элементами управления DataGrid. Дополнительные сведения о событиях см. в разделе Обзор событий автоматизации пользовательского интерфейса.

Событие UI Automation

Поддержка

Примечания

AutomationFocusChangedEvent

Обязательно

Нет

Событие, изменяемое свойством BoundingRectangleProperty.

Обязательно

Нет

Событие, изменяемое свойством IsEnabledProperty.

Требуется

Нет

Событие, изменяемое свойством IsOffscreenProperty.

Обязательно

Нет

LayoutInvalidatedEvent

Зависит от конкретного случая

Нет

StructureChangedEvent

Обязательно

Нет

Событие, изменяемое свойством CurrentViewProperty.

Зависит от конкретного случая

Нет

Событие, изменяемое свойством HorizontallyScrollableProperty.

Зависит от конкретного случая

Если элемент управления поддерживает шаблон Scroll, то он должен поддерживать данное событие.

Событие, изменяемое свойством HorizontalScrollPercentProperty.

Зависит от конкретного случая

Если элемент управления поддерживает шаблон Scroll, то он должен поддерживать данное событие.

Событие, изменяемое свойством HorizontalViewSizeProperty.

Зависит от конкретного случая

Если элемент управления поддерживает шаблон Scroll, то он должен поддерживать данное событие.

Событие, изменяемое свойством VerticalScrollPercentProperty.

Зависит от конкретного случая

Если элемент управления поддерживает шаблон Scroll, то он должен поддерживать данное событие.

Событие, изменяемое свойством VerticallyScrollableProperty.

Зависит от конкретного случая

Если элемент управления поддерживает шаблон Scroll, то он должен поддерживать данное событие.

Событие, изменяемое свойством VerticalViewSizeProperty.

Зависит от конкретного случая

Если элемент управления поддерживает шаблон Scroll, то он должен поддерживать данное событие.

InvalidatedEvent

Требуется

Нет

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

На следующем рисунке показан элемент управления ListView, который реализует тип элемента управления DataGrid.

График элемента управления представления списка с двумя элементами данных

Вид элемента управления и cодержимое представления дерева UI Automation, которое относится к элементу управления ListView и отображено ниже. Шаблоны элементов управления для каждого элемента автоматизации отображаются в круглых скобках.

Дерево UI Automation — представление элемента управления

Дерево UI Automation — представление содержимого

  • DataGrid (таблица, сетка, выбор)

  • Заголовок

    • HeaderItem "Name" (Invoke)

    • HeaderItem "Дата изменения" (Invoke)

    • HeaderItem "Размер" (Invoke)

  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)

    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

  • DataGrid (таблица, сетка, выбор)

  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)

    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

*В предыдущем примере показана сетка DataGrid, содержащая несколько уровней элементов управления. Элемент управления Group ("Contoso") содержит два элемента управления DataItem ("Accounts Receivable.doc" и "Accounts Payable.doc"). Пара DataGrid/GridItem не зависит от пары на другом уровне. Элементы управления DataItem в Group могут предоставляться как тип элементов управления ListItem, что позволяет явно представлять их как выбираемые объекты, а не просто элементы данных. В этом примере не рассматриваются подэлементы элементов данных в группах.

См. также

Ссылки

DataGrid

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

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

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