Editar

Compartilhar via


AndCondition(Condition[]) Constructor

Definition

Creates a PropertyCondition that is true if all the subconditions are true.

public:
 AndCondition(... cli::array <System::Windows::Automation::Condition ^> ^ conditions);
public AndCondition (params System.Windows.Automation.Condition[] conditions);
new System.Windows.Automation.AndCondition : System.Windows.Automation.Condition[] -> System.Windows.Automation.AndCondition
Public Sub New (ParamArray conditions As Condition())

Parameters

conditions
Condition[]

Two or more subconditions.

Examples

The following example shows how to use AndCondition to find UI Automation elements that match a complex condition.

/// <summary>
/// Uses AndCondition to retrieve elements that match both of two conditions.
/// </summary>
/// <param name="elementMainWindow">An application window element.</param>
public void AndConditionExample(AutomationElement elementMainWindow)
{
    if (elementMainWindow == null)
    {
        throw new ArgumentException();
    }

    AndCondition conditionEnabledButtons = new AndCondition(
        new PropertyCondition(AutomationElement.IsEnabledProperty, true),
        new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Button));
    AutomationElementCollection enabledButtons = elementMainWindow.FindAll(
        TreeScope.Subtree, conditionEnabledButtons);
    Console.WriteLine("\nEnabled buttons:");
    foreach (AutomationElement autoElement in enabledButtons)
    {
        Console.WriteLine(autoElement.Current.Name);
    }

    // Example of getting the conditions from the AndCondition.
    Condition[] conditions = conditionEnabledButtons.GetConditions();
    Console.WriteLine("AndCondition has " + conditions.GetLength(0) + " subconditions.");
}
''' <summary>
''' Uses AndCondition to retrieve elements that match both of two conditions.
''' </summary>
''' <param name="elementMainWindow">An application window element.</param>
Public Sub AndConditionExample(ByVal elementMainWindow As AutomationElement)
    If elementMainWindow Is Nothing Then
        Throw New ArgumentException()
    End If

    Dim conditionEnabledButtons As New AndCondition(New PropertyCondition(AutomationElement.IsEnabledProperty, True), New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Button))
    Dim enabledButtons As AutomationElementCollection = elementMainWindow.FindAll(TreeScope.Subtree, conditionEnabledButtons)
    Console.WriteLine("Enabled buttons:")
    Dim autoElement As AutomationElement
    For Each autoElement In enabledButtons
        Console.WriteLine(autoElement.Current.Name)
    Next autoElement

    ' Example of getting the conditions from the AndCondition.
    Dim conditions As Condition() = conditionEnabledButtons.GetConditions()
    Console.WriteLine("AndCondition has " & conditions.GetLength(0) & " subconditions.")

End Sub

Applies to