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


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

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

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

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

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

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

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

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

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

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

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

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

DataItem

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

DataItem

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

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

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

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

Свойство

Значение

Примечания

AutomationIdProperty

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

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

BoundingRectangleProperty

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

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

ClickablePointProperty

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

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

ControlTypeProperty

DataItem

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

IsContentElementProperty

True

Элемент управления DataItem всегда должен являться содержимым.

IsControlElementProperty

True

Элемент управления DataItem всегда должен являться элементом управления.

IsKeyboardFocusableProperty

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

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

ItemStatusProperty

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

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

ItemTypeProperty

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

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

LabeledByProperty

Null

Элемент управления DataItem не имеет статической текстовой подписи.

LocalizedControlTypeProperty

"элемент данных"

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

NameProperty

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

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

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

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

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

Поддержка

Примечания

IExpandCollapseProvider

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

Если элемент управления типа DataItem может быть развернут или свернут для отображения или скрытия информации, то должен поддерживаться шаблон развертывания / свертывания.

IGridItemProvider

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

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

IScrollItemProvider

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

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

ISelectionItemProvider

Да

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

ITableItemProvider

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

Если элемент данных включен в тип элемента управления Data Grid, то он будет поддерживать этот шаблон.

IToggleProvider

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

Если элемент управления DataItem содержит состояние, которое может циклически изменяться.

IValueProvider

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

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

Работа с элементами данных в больших списках

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

Когда вызывается SetFocus на элементе UI Automation для элемента данных, Microsoft Windows Explorer возвращается успешно и будет принудительно установлен фокус на поле редактирования в поддереве элемента данных.

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

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

Событие UI Automation

Поддержка

Примечания

AutomationFocusChangedEvent

Обязательно

Нет

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

Обязательно

Нет

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

Требуется

Нет

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

Требуется

Нет

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

Обязательно

Нет

StructureChangedEvent

Обязательно

Нет

InvokedEvent

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

Нет

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

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

Нет

ElementAddedToSelectionEvent

Обязательно

Нет

ElementRemovedFromSelectionEvent

Обязательно

Нет

ElementSelectedEvent

Обязательно

Нет

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

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

Нет

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

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

Нет

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

На следующем рисунке показан элемент управления типа DataItem в элементе управления List View с поддержкой подробных сведений для столбцов.

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

Представление элемента управления и Представление содержимого для дереваUI Automation, которое относятся к элементу управления типа DataItem, отображены ниже. Шаблоны элементов управления каждого элемента автоматизации показаны в скобках. Группа Contoso также является частью сетки элемента управления ведущего приложения сетки данных.

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

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

  • 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")

  • Edit "Size" (GridItem, TableItem, Value "11.0 KB)

  • 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")

  • Edit "Size" (GridItem, TableItem, Value "11.0 KB)

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

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

См. также

Ссылки

DataItem

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

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

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