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

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

Тип элемента управления DataGrid позволяет пользователю легко работать с элементами, содержащими данные или элементы автоматизации, представленные в столбцах или строках. Элементы управления DataGrid имеют строки элементов и столбцы сведений об этих элементах. Элемент управления представлением списка в Windows Vista Обозреватель является примером, поддерживающим тип элемента управления DataGrid.

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

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

Типичная древовидная структура

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

Представление элемента управления Представление содержимого
  • DataGrid
    • Заголовок {0, 1 или 2}
      • HeaderItem (количество столбцов или строк)
    • DataItem (0 или более; может быть структурирован в иерархии)
  • DataGrid
    • DataItem (0 или более; может быть структурирован в иерархии)

 

Релевантные свойства

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

Свойство модели автоматизации пользовательского интерфейса Значение Примечания
UIA_AutomationIdPropertyId См. примечания. Значение этого свойства должно быть уникальным среди всех одноранговых элементов в необработанном представлении дерева модель автоматизации пользовательского интерфейса.
UIA_BoundingRectanglePropertyId См. примечания. Внешний прямоугольник, содержащий весь элемент управления.
UIA_ClickablePointPropertyId См. примечания. Поддерживается при наличии ограничивающего прямоугольника. Если не каждая точка в ограничивающем прямоугольнике доступна для щелчка, а элемент выполняет специализированное тестирование нажатия, переопределите и укажите точку, доступную для щелчка.
UIA_ControlTypePropertyId DataGrid
UIA_IsContentElementPropertyId TRUE Значение этого свойства всегда должно иметь значение TRUE. Это означает, что элемент управления сеткой данных всегда должен находиться в представлении содержимого дерева модель автоматизации пользовательского интерфейса.
UIA_IsControlElementPropertyId TRUE Значение этого свойства всегда должно иметь значение TRUE. Это означает, что элемент управления сеткой данных всегда должен быть включен в представление элемента управления дерева модель автоматизации пользовательского интерфейса.
UIA_IsKeyboardFocusablePropertyId См. примечания. Если элемент управления может получать фокус клавиатуры, он должен поддерживать это свойство.
UIA_LabeledByPropertyId См. примечания. При наличии статической текстовой метки это свойство должно предоставлять ссылку на этот элемент управления.
UIA_LocalizedControlTypePropertyId См. примечания. Локализованная строка, соответствующая типу элемента управления DataGrid . Значение по умолчанию — "data grid" для en-US или english (США).
UIA_NamePropertyId См. примечания. Элемент управления сеткой данных обычно получает значение для своего свойства Name из статической текстовой метки. Если нет статической текстовой метки, разработчик приложения должен присвоить значение для свойства Name . Значение свойства Name никогда не должно быть текстовым содержимым элемента управления редактированием.

 

Обязательные шаблоны элементов управления

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

Шаблон элемента управления Поддержка Примечания
IGridProvider Обязательно Сам элемент управления "Сетка данных" всегда поддерживает шаблон элемента управления "Сетка ", так как содержащиеся в нем элементы имеют метаданные, которые размещены в сетке.
IScrollProvider Зависит Возможность прокрутки сетки данных зависит от содержимого и наличия полос прокрутки.
ISelectionProvider Зависит Возможность выбора сетки данных зависит от содержимого.
ITableProvider Зависит Элемент управления "Сетка данных", имеющий заголовок, должен поддерживать шаблон элемента управления "Таблица ".

 

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

  • Шаблон элемента управления SelectionItem (если сетка данных доступна для выбора)
  • Шаблон элемента управления ScrollItem (если сетка данных является прокручиваемой)
  • Шаблон элемента управления GridItem
  • Шаблон элемента управления TableItem (если сетка данных содержит заголовок)

Обязательные события

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

Событие модель автоматизации пользовательского интерфейса Примечания
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId событие изменения свойства.
UIA_IsEnabledPropertyId событие изменения свойства. Если элемент управления поддерживает свойство IsEnabled , он должен поддерживать это событие.
UIA_IsOffscreenPropertyId событие изменения свойства. Если элемент управления поддерживает свойство IsOffscreen , он должен поддерживать это событие.
UIA_LayoutInvalidatedEventId
UIA_StructureChangedEventId
UIA_MultipleViewCurrentViewPropertyId событие изменения свойства. Если элемент управления поддерживает свойство CurrentView шаблона элемента управления MultipleView , он должен поддерживать это событие.
UIA_ScrollHorizontallyScrollablePropertyId событие изменения свойства. Если элемент управления поддерживает шаблон элемента управления Scroll , он должен поддерживать это событие.
UIA_ScrollHorizontalScrollPercentPropertyId событие изменения свойства. Если элемент управления поддерживает шаблон элемента управления Scroll , он должен поддерживать это событие.
UIA_ScrollHorizontalViewSizePropertyId событие изменения свойства. Если элемент управления поддерживает шаблон элемента управления Scroll , он должен поддерживать это событие.
UIA_ScrollVerticalScrollPercentPropertyId событие изменения свойства. Если элемент управления поддерживает шаблон элемента управления Scroll , он должен поддерживать это событие.
UIA_ScrollVerticallyScrollablePropertyId событие изменения свойства. Если элемент управления поддерживает шаблон элемента управления Scroll , он должен поддерживать это событие.
UIA_ScrollVerticalViewSizePropertyId событие изменения свойства. Если элемент управления поддерживает шаблон элемента управления Scroll , он должен поддерживать это событие.
UIA_Selection_InvalidatedEventId

 

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

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

Снимок экрана: элемент управления list-view с типом элемента управления datagrid

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

Дерево модель автоматизации пользовательского интерфейса — представление элемента управления Дерево модель автоматизации пользовательского интерфейса — представление содержимого
DataGrid (сортировка, таблица, выбор, сетка)
  • Заголовок
    • HeaderItem "Name" (Invoke)
    • HeaderItem "Date Modified" (Invoke)
    • HeaderItem "Size" (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 (Table, Grid, Selection)
  • Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)
    • DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
    • DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

 

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

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

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

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