ControlType.GetRequiredPatternSets Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een matrix van sets met vereiste patronen op.
public:
cli::array <cli::array <System::Windows::Automation::AutomationPattern ^> ^> ^ GetRequiredPatternSets();
public System.Windows.Automation.AutomationPattern[][] GetRequiredPatternSets();
member this.GetRequiredPatternSets : unit -> System.Windows.Automation.AutomationPattern[][]
Public Function GetRequiredPatternSets () As AutomationPattern()()
Retouren
Een matrix van sets met vereiste patronen.
Voorbeelden
In het volgende voorbeeld wordt elke vorm van GetRequiredPatternSets ingesloten als een statisch veld in de ControlType klasse aanroepenControlType.
/// <summary>
/// Obtains information about patterns supported by control types.
/// Control types are obtained by reflection.
/// </summary>
private void ListPatterns()
{
// Any instance of a ControlType will do since we just want to get the type.
ControlType controlTypeInstance = ControlType.Button;
Type type = typeof(ControlType);
System.Reflection.FieldInfo[] fields = type.GetFields();
foreach (System.Reflection.FieldInfo field in fields)
{
if (field.IsStatic)
{
ControlType controlType = field.GetValue(controlTypeInstance) as ControlType;
Console.WriteLine("\n******************** {0} never supports:",
controlType.ProgrammaticName);
AutomationPattern[] neverSupportedPatterns =
controlType.GetNeverSupportedPatterns();
if (neverSupportedPatterns.Length == 0)
{
Console.WriteLine("(None)");
}
else
{
foreach (AutomationPattern pattern in neverSupportedPatterns)
{
Console.WriteLine(pattern.ProgrammaticName);
}
}
Console.WriteLine("\n******************** {0} requires:",
controlType.ProgrammaticName);
AutomationPattern[][] requiredPatternSets =
controlType.GetRequiredPatternSets();
if (requiredPatternSets.Length == 0)
{
Console.WriteLine("(None)");
}
else
{
foreach (AutomationPattern[] patterns in requiredPatternSets)
{
Console.WriteLine("Pattern set:");
foreach (AutomationPattern pattern in patterns)
{
Console.WriteLine(pattern.ProgrammaticName);
}
Console.WriteLine("--------------------");
}
}
}
}
}
''' <summary>
''' Obtains information about patterns supported by control types.
''' Control types are obtained by reflection.
''' </summary>
Private Sub ListPatterns()
' Any instance of a ControlType will do since we just want to get the type.
Dim controlTypeInstance As ControlType = ControlType.Button
Dim type As Type = GetType(ControlType)
Dim fields() As System.Reflection.FieldInfo = type.GetFields()
For Each field As System.Reflection.FieldInfo In fields
If field.IsStatic Then
Dim controlType As ControlType = TryCast(field.GetValue(controlTypeInstance), ControlType)
Console.WriteLine(vbLf & "******************** {0} never supports:", controlType.ProgrammaticName)
Dim neverSupportedPatterns() As AutomationPattern = controlType.GetNeverSupportedPatterns()
If neverSupportedPatterns.Length = 0 Then
Console.WriteLine("(None)")
Else
For Each pattern As AutomationPattern In neverSupportedPatterns
Console.WriteLine(pattern.ProgrammaticName)
Next pattern
End If
Console.WriteLine(vbLf & "******************** {0} requires:", controlType.ProgrammaticName)
Dim requiredPatternSets()() As AutomationPattern = controlType.GetRequiredPatternSets()
If requiredPatternSets.Length = 0 Then
Console.WriteLine("(None)")
Else
For Each patterns As AutomationPattern() In requiredPatternSets
Console.WriteLine("Pattern set:")
For Each pattern As AutomationPattern In patterns
Console.WriteLine(pattern.ProgrammaticName)
Next pattern
Console.WriteLine("--------------------")
Next patterns
End If
End If
Next field
End Sub
Opmerkingen
Elk element van de matrix bevat een matrix met patronen en elk element met dit type besturingselement moet ten minste één van deze matrices ondersteunen.
Deze methode is handig voor UI Automation clients die alle mogelijke patronen moeten vinden, zoals testframeworks voor een implementatie van een provider.