Microsoft-provided control pattern
System.Windows.Automation namespace System.Windows.Automation.BasePattern provides a base implementation for a control pattern class System.Windows.Automation.DockPattern represents a control that exposes its docking properties within a docking container System.Windows.Automation.ExpandCollapsePattern Represents a control that visually expands (to display content) and collapses (to hide content). System.Windows.Automation.GridItemPattern Typically, you can use the keyboard to traverse supportGriditempattern controls (that is, UI Automation clients can move to neighboring controls)System.Windows.Automation.GridPatternrepresents a control that acts as a container for a collection of child elements. The child of this control supports Griditempattern and must be organized in a two-dimensional logical coordinate system that can be traversed by rows and columns System.Windows.Automation.InvokePattern represents a control that initiates or performs an explicit action and does not maintain state after activation System.Windows.Automation.ItemContainerPattern represents an object that manages items and supports retrieving items by property value System.Windows.Automation.MultipleViewPattern represents a control that provides multiple representations of the same set of information or child controls (and the ability to toggle between these representations) System.Windows.Automation.RangeValuePattern represents a control that can be set to a value in the range System.Windows.Automation.ScrollItemPattern represents supportScrollPattern control pattern for a container's child controlsSystem.Windows.Automation.ScrollPatternrepresents a control that acts as a scrollable container for a collection of child elements. the child of this element supports Scrollitempattern. System.Windows.Automation.SelectionItemPattern Express SupportAn optional subkey in the Selectionpattern container control. System.Windows.Automation.SelectionPatternrepresents a control that acts as a container for an optional set of children. Child support for this element Selectionitempattern System.Windows.Automation.SynchronizedInputPattern represents an object that supports synchronizing input events. System.Windows.Automation.TextPattern represents a control that contains text. System.Windows.Automation.TogglePattern represents a control that can loop through a set of states and persist a state after it is set. System.Windows.Automation.TransformPattern represents a control that can be moved, resized, or rotated in a two-dimensional space. System.Windows.Automation.ValuePatternrepresents a control that has an internal value that does not span a range and can be represented as a string. This string can be either editable or non-editable, depending on the control and its settings. System.Windows.Automation.VirtualizedItemPattern represents an item that is virtualized within a container and needs to be fully accessible like a UI automation element. System.Windows.Automation.WindowPattern represents a control that provides important window-based functionality in a traditional graphical user interface (GUI).
Automating testing with UI Automation-the Microsoft-provided control pattern