ControlType.GetRequiredPatternSets Méthode

Définition

Récupère un tableau d’ensembles de modèles requis.

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()()

Retours

AutomationPattern[][]

Tableau d’ensembles de modèles requis.

Exemples

L’exemple suivant appelle GetRequiredPatternSets chaque type de ControlType contenu en tant que champ statique dans la ControlType classe.

/// <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

Remarques

Chaque élément du tableau contient un tableau de modèles, et chaque élément qui a ce type de contrôle doit prendre en charge au moins l’un de ces tableaux.

Cette méthode est utile pour UI Automation clients qui doivent trouver tous les modèles possibles, tels que les frameworks de test pour une implémentation de fournisseur.

S’applique à