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


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

Примечание.

Эта документация предназначена для разработчиков .NET Framework, желающих использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в статье API автоматизации Windows. Автоматизация пользовательского интерфейса.

В этом разделе содержатся сведения о поддержке модель автоматизации пользовательского интерфейса типа элемента управления TreeItem. В модель автоматизации пользовательского интерфейса тип элемента управления — это набор условий, которые элемент управления должен соответствовать для использования ControlTypeProperty свойства. Условия включают конкретные рекомендации по структуре дерева модель автоматизации пользовательского интерфейса, модель автоматизации пользовательского интерфейса значения свойств и шаблоны элементов управления.

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

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

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

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

Представление элемента управления Представление содержимого
TreeItem

— CheckBox (0 или 1)
— Изображение (0 или 1)
- Кнопка (0 или 1)
- TreeItem (0 или более)
TreeItem

- TreeItem (0 или более)

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

Свернутые элементы дерева не будут отображаться в представлении элемента управления или представлении содержимого, пока они не станут развернутыми и видимыми (или станут видимыми в результате прокрутки).

Представление элемента управления может содержать дополнительные сведения для элемента управления, включая связанное изображение или кнопку. Например, элемент в режиме структуры может содержать изображение, а также кнопку для развертывания или свертывания структуры. Данные объекты сведений не отображаются в представлении содержимого, поскольку эта информация уже представлена родительским элементом дерева. Элементы дерева, прокручиваемые с экрана, будут отображаться как в элементах управления, так и в представлениях содержимого дерева модель автоматизации пользовательского интерфейса и должны иметь IsOffscreenProperty значение true.

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

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

Свойство модели автоматизации пользовательского интерфейса Значение Примечания.
AutomationIdProperty См. примечания. Значение этого свойства должно быть уникальным среди всех элементов управления в приложении.
BoundingRectangleProperty См. примечания. Внешний прямоугольник, содержащий весь элемент управления.
ClickablePointProperty См. примечания. Это свойство должно возвращать расположение элемента, которое приведет к изменению состояния выделения этого элемента или к получению им фокуса.
ControlTypeProperty TreeItem Это значение является одинаковым для всех инфраструктур пользовательского интерфейса.
IsContentElementProperty Истина Элемент управления списком всегда включается в представление содержимого дерева модель автоматизации пользовательского интерфейса.
IsControlElementProperty Истина Элемент управления списком всегда включается в представление элемента управления дерева модель автоматизации пользовательского интерфейса.
IsOffscreenProperty См. примечания. Это свойство устанавливается, чтобы указывать, когда элемент управления "Элемент дерева" прокручивается за пределы экрана.
IsKeyboardFocusableProperty См. примечания. Если элемент управления может получать фокус клавиатуры, он должен поддерживать это свойство.
ItemTypeProperty См. примечания. Если элемент управления "Элемент дерева использует визуальный значок, чтобы указать, что имеется определенный тип объекта, то это свойство должно поддерживаться и указывать, что это за объект.
LabeledByProperty Null Элементы управления "Элемент дерева" получают метки автоматически.
LocalizedControlTypeProperty "элемент дерева" Локализованная строка, соответствующая типу элемента управления TreeItem.
NameProperty См. примечания. Это свойство предоставляет текст, отображаемый для каждого элемента управления "Элемент дерева".

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

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

Шаблон элемента управления/свойство шаблона Поддержка/значение Примечания.
IInvokeProvider Зависит Реализуйте этот шаблон элемента управления, если элемент дерева имеет отдельную выполняемую команду.
IExpandCollapseProvider Да Все элементы дерева можно разворачивать и сворачивать.
ExpandCollapseState Expanded, Collapsed или Leaf Node Элементы дерева будут листовыми узлами, когда они не развернуты или свернуты.
IScrollItemProvider Зависит Реализуйте этот шаблон элемента управления, если контейнер дерева поддерживает шаблон элемента управления Scroll.
ISelectionItemProvider Зависит Реализуйте этот шаблон элемента управления, если возможно иметь активное выделение, которое сохраняется, когда пользователь возвращается к контейнеру дерева.
SelectionContainer Да Это свойство будет предоставлять один и тот же контейнер для всех элементов внутри контейнера.
IToggleProvider Зависит Реализуйте этот шаблон элемента управления, если элемент дерева имеет связанный флажок.

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

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

событие модель автоматизации пользовательского интерфейса Поддержка Примечания.
AutomationFocusChangedEvent Обязательное поле нет
Событие изменения свойстваBoundingRectangleProperty Обязательное поле нет
Событие изменения свойстваIsEnabledProperty Обязательное поле нет
Событие изменения свойстваIsOffscreenProperty Обязательное поле нет
Событие изменения свойстваItemStatusProperty Зависит нет
Событие изменения свойстваNameProperty Обязательное поле нет
StructureChangedEvent Обязательное поле нет
Событие изменения свойстваExpandCollapseStateProperty Обязательное поле нет
InvokedEvent Зависит нет
Событие изменения свойстваCurrentViewProperty Зависит нет
ElementAddedToSelectionEvent Зависит нет
ElementRemovedFromSelectionEvent Зависит нет
ElementSelectedEvent Зависит нет
Событие изменения свойстваToggleStateProperty Зависит нет
Событие изменения свойстваValueProperty Зависит нет

См. также