UI Automation Support
With the Q4 2025 version of our controls, RadTreeView supports UI Automation. The current implementation of UI Automation for RadTreeView is similar to the MS WinForms TreeView implementation with some extended functionality. The main goal of this implementation is to ensure compliance with accessibility standards and to provide a common practice for automated testing.
This functionality is enabled by default. To disable it, you can set the EnableUIAutomation property to false.
this.radTreeView1.EnableUIAutomation = false;
Me.radTreeView1.EnableUIAutomation = False
| Tree Structure |
|---|
| ├─ Tree (RadTreeView Control) |
| ├─ TreeItem (RadTreeNode) |
| ├─ TreeItem (RadTreeNode) |
| └─ Expander (RadButton) |
| └─ CheckBox (RadCheckBox) |
| └─ Image (Node Image Element) |
| └─ Text (Node Text Element) |
| └─ TreeItem (RadTreeNode) |
| ├─ TreeItem (RadTreeNode) |
| ├─ HScrollbar (Horizontal ScrollBar) |
| └─ VScrollbar (Vertical ScrollBar) |
Relevant Properties
The table below outlines the UI Automation properties most important for understanding and interacting with RadTreeView control.
RadTreeView
- AutomationElementIdentifiers.ControlTypeProperty.Id => ControlType.Tree.Id
- AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "tree"
- AutomationElementIdentifiers.HelpTextProperty.Id => this.Owner.AccessibleDescription
- AutomationElementIdentifiers.IsContentElementProperty.Id => true
- AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id => true
- AutomationElementIdentifiers.IsSelectionPatternAvailableProperty.Id => true
- AutomationElementIdentifiers.IsScrollPatternAvailableProperty.Id => true
- AutomationElementIdentifiers.NameProperty.Id => this.Owner.Name
RadTreeNode
- AutomationElementIdentifiers.ControlTypeProperty.Id => ControlType.TreeItem.Id
- AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "tree item"
- AutomationElementIdentifiers.HelpTextProperty.Id => this.Owner.ToolTipText
- AutomationElementIdentifiers.IsOffscreenProperty.Id => GetIsOffscreen()
- AutomationElementIdentifiers.NameProperty.Id => this.Owner.Text
- AutomationElementIdentifiers.HasKeyboardFocusProperty.Id => this.Owner.Selected
- AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id => this.Owner.Enabled
- AutomationElementIdentifiers.IsEnabledProperty.Id => this.Owner.Enabled
- AutomationElementIdentifiers.IsContentElementProperty.Id => true
- AutomationElementIdentifiers.IsSelectionItemPatternAvailableProperty.Id => true
- AutomationElementIdentifiers.IsScrollItemPatternAvailableProperty.Id => true
- AutomationElementIdentifiers.IsExpandCollapsePatternAvailableProperty.Id => true
- AutomationElementIdentifiers.IsInvokePatternAvailableProperty.Id => true
- AutomationElementIdentifiers.IsTogglePatternAvailableProperty.Id => this.Owner.TreeViewElement?.CheckBoxes == true
Supported Control Patterns
The following section outlines the supported automation patterns for the RadTreeView control and its constituent elements.
RadTreeView
RadTreeNode
- SelectionItem Control Pattern
- ExpandCollapse Control Pattern
- ScrollItem Control Pattern
- Invoke Control Pattern
- Toggle Control Pattern