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.