ControlType.GetNeverSupportedPatterns Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Recupera os identificadores de padrão que não são compatíveis com o tipo de controle.
public:
cli::array <System::Windows::Automation::AutomationPattern ^> ^ GetNeverSupportedPatterns();
public System.Windows.Automation.AutomationPattern[] GetNeverSupportedPatterns ();
member this.GetNeverSupportedPatterns : unit -> System.Windows.Automation.AutomationPattern[]
Public Function GetNeverSupportedPatterns () As AutomationPattern()
Retornos
Uma matriz de identificadores de padrão Automação da Interface do Usuário.
Exemplos
O exemplo a seguir chama GetNeverSupportedPatterns todos os tipos ControlType contidos como um campo estático na 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
Comentários
Esse método é útil para clientes Automação da Interface do Usuário, como estruturas de teste para uma implementação de provedor que precisam encontrar todos os padrões de controle que não são permitidos nesse tipo de controle.