AutomationProperty Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Identifies a property of an AutomationElement.
public ref class AutomationProperty : System::Windows::Automation::AutomationIdentifier
public class AutomationProperty : System.Windows.Automation.AutomationIdentifier
type AutomationProperty = class
inherit AutomationIdentifier
Public Class AutomationProperty
Inherits AutomationIdentifier
- Inheritance
Examples
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);
}
}
Dim propChangeHandler As AutomationPropertyChangedEventHandler
''' <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 Sub SubscribePropertyChange(ByVal element As AutomationElement)
propChangeHandler = _
New AutomationPropertyChangedEventHandler(AddressOf OnPropertyChange)
Automation.AddAutomationPropertyChangedEventHandler(element, TreeScope.Element, _
propChangeHandler, AutomationElement.IsEnabledProperty)
End Sub
''' <summary>
''' Handler for property changes.
''' </summary>
''' <param name="src">The source whose properties changed.</param>
''' <param name="e">Event arguments.</param>
Private Sub OnPropertyChange(ByVal src As Object, ByVal e As AutomationPropertyChangedEventArgs)
Dim sourceElement As AutomationElement = DirectCast(src, AutomationElement)
If e.Property Is AutomationElement.IsEnabledProperty Then
Dim enabled As Boolean = CBool(e.NewValue)
' TODO: Do something with the new value.
' The element that raised the event can be identified by its runtime ID property.
Else
End If
' TODO: Handle other property-changed events.
End Sub
Public Sub UnsubscribePropertyChange(ByVal element As AutomationElement)
If (propChangeHandler IsNot Nothing) Then
Automation.RemoveAutomationPropertyChangedEventHandler(element, propChangeHandler)
End If
End Sub
Remarks
This class identifies properties, not the values of properties. Static objects of this type are found as fields of AutomationElement and control pattern classes.
Properties
Id |
Gets the underlying numerical identifier. (Inherited from AutomationIdentifier) |
ProgrammaticName |
Gets the registered programmatic name. (Inherited from AutomationIdentifier) |
Methods
CompareTo(Object) |
Compares this AutomationIdentifier with another AutomationIdentifier. (Inherited from AutomationIdentifier) |
Equals(Object) |
Returns a value indicating whether the supplied AutomationIdentifier is equivalent to this AutomationIdentifier. (Inherited from AutomationIdentifier) |
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(Int32) |
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) |