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

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

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

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

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

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

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

Представление элемента управления Представление содержимого
  • DataItem
    • Изменяется (0 и более; возможна иерархическая структуризация)
  • DataItem
    • Изменяется (0 и более; возможна иерархическая структуризация)

 

Элемент данных в сетке данных может поддерживать множество объектов, в том числе еще один уровень элементов данных или определенные элементы сетки, такие как текст, изображения или элементы управления "Поле ввода". Если элемент элемента данных имеет определенную роль объекта, элемент должен быть предоставлен как определенный тип элемента управления; например, тип элемента управления ListItem для элемента данных, который можно выбрать в сетке.

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

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

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

 

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

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

Шаблон элемента управления Поддержка Примечания
IExpandCollapseProvider Зависит Если элемент данных можно развернуть или свернуть для отображения и скрытия информации, необходимо поддерживать шаблон элемента управления ExpandCollapse .
IGridItemProvider Зависит Элементы данных будут поддерживать шаблон элемента управления GridItem , если коллекция элементов данных доступна в контейнере, который может быть пространственно перебирается из элемента в элемент.
IScrollItemProvider Зависит Все элементы данных поддерживают возможность прокрутки в представление с помощью шаблона элемента управления ScrollItem , если их контейнер данных содержит больше элементов, чем может поместиться на экране.
ISelectionItemProvider Зависит Возможность выбора элементов данных зависит от содержимого.
ITableItemProvider Зависит Если элемент данных содержится в типе элемента управления DataGrid с элементом заголовка, он должен поддерживать шаблон элемента управления TableItem .
IToggleProvider Зависит Если элемент данных содержит состояние, которое может быть циклически завершено, он должен поддерживать шаблон элемента управления Toggle .
IValueProvider Зависит Если основной текст элемента данных доступен для редактирования, должен поддерживаться шаблон элемента управления значением .

 

Работа с DataItems в больших списках

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

При вызове SetFocus для элемента модель автоматизации пользовательского интерфейса для элемента данных microsoft Windows Обозреватель возвращается успешно, что приводит к тому, что фокус будет установлен на элемент управления "Изменить" в поддереве элемента данных.

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

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

Событие модель автоматизации пользовательского интерфейса Примечания
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId событие изменения свойства.
UIA_ExpandCollapseExpandCollapseStatePropertyId событие изменения свойства. Если элемент управления поддерживает шаблон элемента управления ExpandCollapse , он должен поддерживать это событие.
UIA_Invoke_InvokedEventId Если элемент управления поддерживает шаблон элемента управления Invoke , он должен поддерживать это событие.
UIA_IsEnabledPropertyId событие изменения свойства. Если элемент управления поддерживает свойство IsEnabled , он должен поддерживать это событие.
UIA_IsOffscreenPropertyId событие изменения свойства. Если элемент управления поддерживает свойство IsOffscreen , он должен поддерживать это событие.
UIA_ItemStatusPropertyId событие изменения свойства. Если элемент управления поддерживает свойство ItemStatus , он должен поддерживать это событие.
UIA_NamePropertyId событие изменения свойства.
UIA_SelectionItem_ElementAddedToSelectionEventId Если элемент управления поддерживает шаблон элемента управления SelectionItem , он должен поддерживать это событие.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Если элемент управления поддерживает шаблон элемента управления SelectionItem , он должен поддерживать это событие.
UIA_SelectionItem_ElementSelectedEventId Если элемент управления поддерживает шаблон элемента управления SelectionItem , он должен поддерживать это событие.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId событие изменения свойства. Если элемент управления поддерживает шаблон элемента управления Toggle , он должен поддерживать это событие.
UIA_ValueValuePropertyId событие изменения свойства. Если элемент управления поддерживает шаблон элемента управления "Значение ", он должен поддерживать это событие.

 

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

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

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

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

Дерево модель автоматизации пользовательского интерфейса — представление элемента управления Дерево модель автоматизации пользовательского интерфейса — представление содержимого
  • Group "Contoso" (Table, Grid)
    • DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • Image "Accounts Receivable.doc"
      • Edit "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")
      • Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")
      • Изменение размера (GridItem, TableItem, значение "11,0 КБ")
    • DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • ...
  • Group "Contoso" (Table, Grid)
    • DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • Image "Accounts Receivable.doc"
      • Edit "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")
      • Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")
      • Изменение размера (GridItem, TableItem, значение "11,0 КБ")
    • DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • ...

 

Если сетка представляет список доступных для выбора элементов, соответствующие элементы пользовательского интерфейса можно предоставлять с помощью типа элемента управления ListItem вместо типа элемента управления DataItem. В предыдущем примере элементы DataItem ("Учетные записи Receivable.doc" и "Учетные записи Payable.doc") в группе ("Contoso") можно улучшить, предоставив их как типы элементов управления ListItem, так как этот тип уже поддерживает шаблон элемента управления SelectionItem .

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

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

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