Automation.AddAutomationPropertyChangedEventHandler(AutomationElement, TreeScope, AutomationPropertyChangedEventHandler, AutomationProperty[]) Automation.AddAutomationPropertyChangedEventHandler(AutomationElement, TreeScope, AutomationPropertyChangedEventHandler, AutomationProperty[]) Automation.AddAutomationPropertyChangedEventHandler(AutomationElement, TreeScope, AutomationPropertyChangedEventHandler, AutomationProperty[]) Automation.AddAutomationPropertyChangedEventHandler(AutomationElement, TreeScope, AutomationPropertyChangedEventHandler, AutomationProperty[]) Method

Definizione

Registra un metodo che gestirà eventi di modifica della proprietà.Registers a method that will handle property-changed events.

public:
 static void AddAutomationPropertyChangedEventHandler(System::Windows::Automation::AutomationElement ^ element, System::Windows::Automation::TreeScope scope, System::Windows::Automation::AutomationPropertyChangedEventHandler ^ eventHandler, ... cli::array <System::Windows::Automation::AutomationProperty ^> ^ properties);
public static void AddAutomationPropertyChangedEventHandler (System.Windows.Automation.AutomationElement element, System.Windows.Automation.TreeScope scope, System.Windows.Automation.AutomationPropertyChangedEventHandler eventHandler, params System.Windows.Automation.AutomationProperty[] properties);
static member AddAutomationPropertyChangedEventHandler : System.Windows.Automation.AutomationElement * System.Windows.Automation.TreeScope * System.Windows.Automation.AutomationPropertyChangedEventHandler * System.Windows.Automation.AutomationProperty[] -> unit
Public Shared Sub AddAutomationPropertyChangedEventHandler (element As AutomationElement, scope As TreeScope, eventHandler As AutomationPropertyChangedEventHandler, ParamArray properties As AutomationProperty())

Parametri

element
AutomationElement AutomationElement AutomationElement AutomationElement

Elemento di Automazione interfaccia utenteUI Automation da associare al gestore dell'evento.The Automazione interfaccia utenteUI Automation element with which to associate the event handler.

scope
TreeScope TreeScope TreeScope TreeScope

Ambito di eventi da gestire; ovvero, se sono sull'elemento stesso o sui predecessori e oggetti figlio.The scope of events to be handled; that is, whether they are on the element itself, or on its ancestors and children.

eventHandler
AutomationPropertyChangedEventHandler AutomationPropertyChangedEventHandler AutomationPropertyChangedEventHandler AutomationPropertyChangedEventHandler

Metodo da chiamare quando si verifica l'evento.The method to call when the event occurs.

properties
AutomationProperty[]

Proprietà di Automazione interfaccia utenteUI Automation di interesse.The Automazione interfaccia utenteUI Automation properties of interest.

Esempi

Nell'esempio di codice seguente viene aggiunto un gestore eventi che rimane in attesa di una modifica nello stato di abilitazione di un elemento specificato.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);
    }
}

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

Commenti

L' interfaccia utenteuser interface (UI) elemento specificato dall'elemento fornito Automazione interfaccia utenteUI Automation potrebbe non supportare properties le proprietà specificate dal parametro.The interfaccia utenteuser interface (UI) item specified by the supplied Automazione interfaccia utenteUI Automation element might not support the properties specified by the properties parameter.

eventHandlerpuò essere un'istanza del metodo o un riferimento al metodo (AddressOf in Visual Basic).eventHandler can be an instance of the method, or a reference to the method (AddressOf in Visual Basic).

Si applica a

Vedi anche