OrCondition.GetConditions Method

Definition

Retrieves the conditions that are combined in 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

The conditions combined in this condition.

Examples

The following example function constructs an OrCondition and then displays the number of subconditions that it contains.

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

    OrCondition conditionButtons = new OrCondition(
        new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Button),
        new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.RadioButton));
    AutomationElementCollection elementCollectionButtons = elementMainWindow.FindAll(
        TreeScope.Subtree, conditionButtons);
    Console.WriteLine("\nButtons and radio buttons:");
    foreach (AutomationElement autoElement in elementCollectionButtons)
    {
        Console.WriteLine(autoElement.Current.Name);
    }

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

    Dim conditionButtons As New OrCondition(New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Button), New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.RadioButton))
    Dim elementCollectionButtons As AutomationElementCollection = elementMainWindow.FindAll(TreeScope.Subtree, conditionButtons)
    Console.WriteLine("Buttons and radio buttons:")
    Dim autoElement As AutomationElement
    For Each autoElement In elementCollectionButtons
        Console.WriteLine(autoElement.Current.Name)
    Next autoElement

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

End Sub

Remarks

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

Applies to