AutomationProperty Class

 

Identifies a property of an AutomationElement.

Namespace:   System.Windows.Automation
Assembly:  UIAutomationTypes (in UIAutomationTypes.dll)

System.Object
  System.Windows.Automation.AutomationIdentifier
    System.Windows.Automation.AutomationProperty

public class AutomationProperty : AutomationIdentifier

NameDescription
System_CAPS_pubpropertyId

Gets the underlying numerical identifier.(Inherited from AutomationIdentifier.)

System_CAPS_pubpropertyProgrammaticName

Gets the registered programmatic name.(Inherited from AutomationIdentifier.)

NameDescription
System_CAPS_pubmethodCompareTo(Object)

Compares this AutomationIdentifier with another AutomationIdentifier.(Inherited from AutomationIdentifier.)

System_CAPS_pubmethodEquals(Object)

Returns a value indicating whether the supplied AutomationIdentifier is equivalent to this AutomationIdentifier.(Inherited from AutomationIdentifier.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Returns the hash code for this UI Automation identifier.(Inherited from AutomationIdentifier.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodSystem_CAPS_staticLookupById(Int32)

Retrieves an AutomationProperty that encapsulates a specified numerical identifier.

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

This class identifies properties, not the values of properties. Static objects of this type are found as fields of AutomationElement and control pattern classes.

The following example adds a property-changed event handler, and the handler checks the Property member of the event arguments to determine the property that has been changed.


AutomationPropertyChangedEventHandler propChangeHandler;
/// <summary>
/// Adds a handler for property-changed event; in particular, a change in the enabled state.
/// </summary>
/// <param name="element">The UI Automation element whose state is being monitored.</param>
public void SubscribePropertyChange(AutomationElement element)
{
    Automation.AddAutomationPropertyChangedEventHandler(element, 
        TreeScope.Element, 
        propChangeHandler = new AutomationPropertyChangedEventHandler(OnPropertyChange),
        AutomationElement.IsEnabledProperty);

}

/// <summary>
/// Handler for property changes.
/// </summary>
/// <param name="src">The source whose properties changed.</param>
/// <param name="e">Event arguments.</param>
private void OnPropertyChange(object src, AutomationPropertyChangedEventArgs e)
{
    AutomationElement sourceElement = src as AutomationElement;
    if (e.Property == AutomationElement.IsEnabledProperty)
    {
        bool enabled = (bool)e.NewValue;
        // TODO: Do something with the new value. 
        // The element that raised the event can be identified by its runtime ID property.
    }
    else
    { 
        // TODO: Handle other property-changed events.
    }
}

public void UnsubscribePropertyChange(AutomationElement element)
{
    if (propChangeHandler != null)
    {
        Automation.RemoveAutomationPropertyChangedEventHandler(element, propChangeHandler);
    }
}

.NET Framework
Available since 3.0
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: