Поддержка автоматизации пользовательского интерфейса для типа элемента управления 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 | Зависит | нет |