Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Automation.AddAutomationPropertyChangedEventHandler Method

Registers a method that will handle property-changed events.

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

Public Shared Sub AddAutomationPropertyChangedEventHandler ( _
	element As AutomationElement, _
	scope As TreeScope, _
	eventHandler As AutomationPropertyChangedEventHandler, _
	ParamArray properties As AutomationProperty() _


Type: System.Windows.Automation.AutomationElement

The UI Automation element with which to associate the event handler.

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.

Type: System.Windows.Automation.AutomationPropertyChangedEventHandler

The method to call when the event occurs.

Type: System.Windows.Automation.AutomationProperty()

The UI Automation properties of interest.

The user interface (UI) item specified by the supplied UI Automation element might not support the properties specified by the properties parameter.

eventHandler can be an instance of the method, or a reference to the method (AddressOf in Visual Basic).

The following example code adds an event handler that listens for a change in the enabled state of a specified element.

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 'SubscribePropertyChange

''' <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. 
    End If 
 ' TODO: Handle other property-changed events. 
End Sub 'OnPropertyChange

Public Sub UnsubscribePropertyChange(ByVal element As AutomationElement)
    If (propChangeHandler IsNot Nothing) Then
        Automation.RemoveAutomationPropertyChangedEventHandler(element, propChangeHandler)
    End If 

End Sub 'UnsubscribePropertyChange

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
© 2015 Microsoft