AutomationProperty Class
Identifies a property of an AutomationElement.
System.Windows.Automation.AutomationIdentifier
System.Windows.Automation.AutomationProperty
Namespace: System.Windows.Automation
Assembly: UIAutomationTypes (in UIAutomationTypes.dll)
The AutomationProperty type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Id | Gets the underlying numerical identifier. (Inherited from AutomationIdentifier.) |
![]() | ProgrammaticName | Gets the registered programmatic name. (Inherited from AutomationIdentifier.) |
| Name | Description | |
|---|---|---|
![]() | CompareTo | Compares this AutomationIdentifier with another AutomationIdentifier. (Inherited from AutomationIdentifier.) |
![]() | Equals | Returns a value indicating whether the supplied AutomationIdentifier is equivalent to this AutomationIdentifier. (Inherited from AutomationIdentifier.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Returns the hash code for this UI Automation identifier. (Inherited from AutomationIdentifier.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() ![]() | LookupById | Retrieves an AutomationProperty that encapsulates a specified numerical identifier. |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | 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); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
