AutomationPropertyChangedEventHandler Delegate

Represents the method implemented by the UI Automation client application to handle the event raised by a UI Automation provider when a property has changed.

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

'Declaration
Public Delegate Sub AutomationPropertyChangedEventHandler ( _
	sender As Object, _
	e As AutomationPropertyChangedEventArgs _
)
'Usage
Dim instance As New AutomationPropertyChangedEventHandler(AddressOf HandlerMethod)
/** @delegate */
public delegate void AutomationPropertyChangedEventHandler (
	Object sender, 
	AutomationPropertyChangedEventArgs e
)
Not applicable.

Parameters

sender

The object that raised the event.

e

Information about the event.

The AutomationElement represented by sender might not have any cached properties or patterns, depending on whether the application subscribed to this event while a CacheRequest was active.

Depending on the provider implementation, a property-changed event does not necessarily signify that the property value is different; it might just mean that the property was set, even to the same value. If your application needs to respond only to actual changes, it is your responsibility to track the state of the property.

In the following example, changes in the IsEnabled property of subscribed elements are handled.


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.
    Else
    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


Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0

Community Additions

ADD
Show: