Automation.AddAutomationPropertyChangedEventHandler Method
.NET Framework 3.5
Registers a method that will handle property-changed events.
Assembly: UIAutomationClient (in UIAutomationClient.dll)
public static void AddAutomationPropertyChangedEventHandler( AutomationElement element, TreeScope scope, AutomationPropertyChangedEventHandler eventHandler, params AutomationProperty[] properties )
Parameters
- element
- Type: System.Windows.Automation.AutomationElement
The UI Automation element with which to associate the event handler.
- scope
- Type: System.Windows.Automation.TreeScope
The scope of events to be handled; that is, whether they are on the element itself, or on its ancestors and children.
- eventHandler
- Type: System.Windows.Automation.AutomationPropertyChangedEventHandler
The method to call when the event occurs.
- properties
- Type: System.Windows.Automation.AutomationProperty[]
The UI Automation properties of interest.
The following example code adds an event handler that listens for a change in the enabled state of a specified element.
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); } }
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.