Automation.AddAutomationPropertyChangedEventHandler Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Registra un metodo che gestirà eventi di modifica della proprietà.
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
Elemento Automazione interfaccia utente con cui associare il gestore eventi.
- scope
- TreeScope
Ambito di eventi da gestire; ovvero, se sono sull'elemento stesso o sui predecessori e oggetti figlio.
- eventHandler
- AutomationPropertyChangedEventHandler
Metodo da chiamare quando si verifica l'evento.
- properties
- AutomationProperty[]
Proprietà Automazione interfaccia utente di interesse.
Esempio
Il codice di esempio seguente aggiunge un gestore eventi in ascolto di una modifica nello stato abilitato di un elemento specificato.
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'elemento dell'interfaccia utente specificato dall'elemento Automazione interfaccia utente fornito potrebbe non supportare le proprietà specificate dal properties
parametro.
eventHandler
può essere un'istanza del metodo o un riferimento al metodo (AddressOf
in Visual Basic).
Si applica a
Vedi anche
- RemoveAutomationPropertyChangedEventHandler(AutomationElement, AutomationPropertyChangedEventHandler)
- AddAutomationEventHandler(AutomationEvent, AutomationElement, TreeScope, AutomationEventHandler)
- AddAutomationFocusChangedEventHandler(AutomationFocusChangedEventHandler)
- AddStructureChangedEventHandler(AutomationElement, TreeScope, StructureChangedEventHandler)
- Sottoscrivere gli eventi di automazione interfaccia utente
- Cenni preliminari sugli eventi di automazione interfaccia utente