Share via


Control Pattern Mapping for UI Automation Clients

This topic lists control types and their associated control patterns.

The following table organizes the control patterns into the following categories:

  • Must support. The control must support this control pattern.
  • Conditional support. The control may support this control pattern depending on the state of the control.
  • Does not support. The control does not support this control pattern. A customized version of the control may support this control pattern.

Some controls have conditional support for several control patterns, depending on the functionality of the control. For example, the menu item control has conditional support for the Invoke, ExpandCollapse, Toggle, or SelectionItem control pattern, depending on its function in the menu control.

The control patterns are listed by their common names. Each control pattern is represented by a client interface and a provider interface. For example, the MultipleView control pattern is exposed to the client as a IUIAutomationMultipleViewPattern interface, and implemented by providers as an IMultipleViewProvider interface.

Control type Must support Conditional support Does not support
Button None ExpandCollapse, Invoke, Toggle None
Calendar Grid, Table Scroll, Selection Value
CheckBox Toggle None None
ComboBox ExpandCollapse Selection, Value Scroll
DataGrid Grid Scroll, Selection, Table None
DataItem SelectionItem ExpandCollapse, GridItem, ScrollItem, TableItem, Toggle, Value None
Document Text Scroll, Value None
Edit None RangeValue, Text, Value None
Group None ExpandCollapse None
Header None Transform None
HeaderItem None Invoke, Transform None
Hyperlink Invoke Value None
Image None GridItem, TableItem Invoke, SelectionItem
List None Grid, MultipleView, Scroll, Selection Table
ListItem SelectionItem ExpandCollapse, GridItem, Invoke, ScrollItem, Toggle, Value None
Menu None None None
MenuBar None Dock, ExpandCollapse, Transform None
MenuItem None ExpandCollapse, Invoke, SelectionItem, Toggle None
Pane None Dock, Scroll, Transform Window
ProgressBar None RangeValue, Value None
RadioButton SelectionItem None Toggle
ScrollBar None RangeValue Scroll
Separator None None None
Slider None RangeValue, Selection, Value None
Spinner None RangeValue, Selection, Value None
SplitButton ExpandCollapse, Invoke None None
StatusBar None Grid None
Tab Selection Scroll None
TabItem SelectionItem None Invoke
Table Grid, GridItem, Table, TableItem None None
Text None GridItem, TableItem, Text Value
Thumb Transform None None
TitleBar None None None
ToolBar None Dock, ExpandCollapse, Transform None
ToolTip None Text, Window None
Tree None Scroll, Selection None
TreeItem ExpandCollapse Invoke, ScrollItem, SelectionItem, Toggle None
Window Transform, Window Dock None

Note  If a control type has no supported control patterns listed but has one or more conditionally supported control patterns, one of those conditional control patterns is supported at all times.