AutomationElement.GetSupportedPatterns Method


Retrieves the control patterns that this AutomationElement supports.

 cli::array <System::Windows::Automation::AutomationPattern ^> ^ GetSupportedPatterns();
public System.Windows.Automation.AutomationPattern[] GetSupportedPatterns ();
member this.GetSupportedPatterns : unit -> System.Windows.Automation.AutomationPattern[]
Public Function GetSupportedPatterns () As AutomationPattern()



An array of AutomationPattern objects that represent the supported control patterns.


The following example shows how to retrieve the control patterns supported by an AutomationElement.

// element is an AutomationElement.
AutomationPattern[] patterns = element.GetSupportedPatterns();
foreach (AutomationPattern pattern in patterns)
    Console.WriteLine("ProgrammaticName: " + pattern.ProgrammaticName);
    Console.WriteLine("PatternName: " + Automation.PatternName(pattern));
' element is an AutomationElement.
Dim patterns As AutomationPattern() = element.GetSupportedPatterns()
Dim pattern As AutomationPattern
For Each pattern In patterns
    Console.WriteLine("ProgrammaticName: " + pattern.ProgrammaticName)
    Console.WriteLine("PatternName: " + Automation.PatternName(pattern))
Next pattern


This method would typically be used for debugging. Calling it requires a great deal of processing, as it queries the AutomationElement for every possible pattern. Normally you would use GetCurrentPattern to retrieve a specific control pattern from an AutomationElement. To ascertain whether a particular pattern is supported, check the appropriate property; for example, IsWindowPatternAvailableProperty.

Applies to

See also