Edit

Share via


PropertyCondition Constructors

Definition

Initializes a new instance of the PropertyCondition class.

Overloads

PropertyCondition(AutomationProperty, Object)

Initializes a new instance of the PropertyCondition class.

PropertyCondition(AutomationProperty, Object, PropertyConditionFlags)

Initializes a new instance of the PropertyCondition class, with flags.

PropertyCondition(AutomationProperty, Object)

Initializes a new instance of the PropertyCondition class.

public:
 PropertyCondition(System::Windows::Automation::AutomationProperty ^ property, System::Object ^ value);
public PropertyCondition (System.Windows.Automation.AutomationProperty property, object value);
new System.Windows.Automation.PropertyCondition : System.Windows.Automation.AutomationProperty * obj -> System.Windows.Automation.PropertyCondition
Public Sub New (property As AutomationProperty, value As Object)

Parameters

property
AutomationProperty

The property to test.

value
Object

The value to test the property for.

Examples

In the following example, a PropertyCondition specifies that the UI Automation element to be found has a control type of List. The PropertyCondition is then used to obtain the list element from a combo box.

Condition propCondition1 = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.List);
AutomationElement listElement = elementCombo.FindFirst(TreeScope.Children, propCondition1);
Dim propCondition1 As New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.List)
Dim listElement As AutomationElement = elementCombo.FindFirst(TreeScope.Children, propCondition1)

Remarks

The property parameter cannot be BoundingRectangleProperty.

Applies to

PropertyCondition(AutomationProperty, Object, PropertyConditionFlags)

Initializes a new instance of the PropertyCondition class, with flags.

public:
 PropertyCondition(System::Windows::Automation::AutomationProperty ^ property, System::Object ^ value, System::Windows::Automation::PropertyConditionFlags flags);
public PropertyCondition (System.Windows.Automation.AutomationProperty property, object value, System.Windows.Automation.PropertyConditionFlags flags);
new System.Windows.Automation.PropertyCondition : System.Windows.Automation.AutomationProperty * obj * System.Windows.Automation.PropertyConditionFlags -> System.Windows.Automation.PropertyCondition
Public Sub New (property As AutomationProperty, value As Object, flags As PropertyConditionFlags)

Parameters

property
AutomationProperty

The property to test.

value
Object

The value to test the property for.

flags
PropertyConditionFlags

Flags that affect the comparison.

Examples

The following example uses a PropertyCondition to retrieve the Microsoft UI Automation element representing the main form of an application. The form is located by a case-insensitive search for its string identifier.

/// <summary>
/// Find a UI Automation child element by ID.
/// </summary>
/// <param name="controlName">Name of the control, such as "button1"</param>
/// <param name="parentElement">Parent element, such as an application window, or the 
/// AutomationElement.RootElement when searching for the application window.</param>
/// <returns>The UI Automation element.</returns>
private AutomationElement FindChildElement(String controlName, AutomationElement rootElement)
{
    if ((controlName == "") || (rootElement == null))
    {
        throw new ArgumentException("Argument cannot be null or empty.");
    }
    // Set a property condition that will be used to find the main form of the
    // target application. In the case of a WinForms control, the name of the control
    // is also the AutomationId of the element representing the control.
    Condition propCondition = new PropertyCondition(
        AutomationElement.AutomationIdProperty, controlName, PropertyConditionFlags.IgnoreCase);

    // Find the element.
    return rootElement.FindFirst(TreeScope.Element | TreeScope.Children, propCondition);
}
''' <summary>
''' Find a UI Automation child element by ID.
''' </summary>
''' <param name="controlName">Name of the control, such as "button1"</param>
''' <param name="rootElement">Parent element, such as an application window, or the 
''' AutomationElement.RootElement when searching for the application window.</param>
''' <returns>The UI Automation element.</returns>
Private Function FindChildElement(ByVal controlName As String, ByVal rootElement As AutomationElement) _
    As AutomationElement
    If controlName = "" OrElse rootElement Is Nothing Then
        Throw New ArgumentException("Argument cannot be null or empty.")
    End If
    ' Set a property condition that will be used to find the main form of the
    ' target application. In the case of a WinForms control, the name of the control
    ' is also the AutomationId of the element representing the control.
    Dim propCondition As New PropertyCondition(AutomationElement.AutomationIdProperty, _
        controlName, PropertyConditionFlags.IgnoreCase)

    ' Find the element.
    Return rootElement.FindFirst(TreeScope.Element Or TreeScope.Children, propCondition)

End Function 'FindChildElement

See also

Applies to