New to Telerik UI for WinForms? Download free 30-day trial

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

See Also

In this article