Edit

Share via


AndCondition.GetConditions Method

Definition

Retrieves an array of the subconditions for this condition.

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

Returns

An array of the subconditions for this condition.

Examples

The following example constructs an AndCondition and then displays the number of conditions it contains.

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

Remarks

The returned array is a copy. Modifying it does not affect the state of the AndCondition.

Applies to