Condividi tramite


Cenni preliminari sulle proprietà di automazione interfaccia utente

I provider di Microsoft per l'Automazione dell'interfaccia utente espongono proprietà sugli elementi dell'Automazione dell'interfaccia utente. Le proprietà consentono alle applicazioni client di recuperare informazioni sui controlli.

Automazione interfaccia utente espone due tipi diversi di proprietà: proprietà degli elementi di automazione e proprietà del pattern di controllo. Le proprietà dell'elemento di automazione sono costituite da un set comune di proprietà, ad esempio Name, AcceleratorKey e ClassName, esposte da tutti gli elementi Automazione interfaccia utente, indipendentemente dal tipo di controllo. La maggior parte delle proprietà degli elementi di automazione sono valori statici.

Le proprietà del pattern di controllo sono quelle esposte da un controllo che supporta uno specifico pattern di controllo. Ogni pattern di controllo ha un set corrispondente di proprietà del pattern di controllo che il controllo deve esporre. Ad esempio, un controllo che supporta il pattern di controllo Grid espone le proprietà ColumnCount e RowCount. La maggior parte delle proprietà del pattern di controllo sono valori dinamici.

Questo argomento include le sezioni seguenti.

Identificatori di proprietà

Ogni proprietà viene identificata da un valore numerico PROPERTYID denominato identificatore di proprietà (ID). I provider e i client usano gli ID numerici nelle chiamate al metodo, ad esempio IRawElementProviderAdviseEvents::AdviseEventAdded e IUIAutomationElement::GetCachedPropertyValue per identificare le richieste di proprietà. Per una descrizione dettagliata di ogni identificatore di proprietà dell'Automazione interfaccia utente (UI), inclusi il tipo di dati e il valore predefinito di ogni proprietà, consulta Identificatori di proprietà.

Valori delle proprietà

Tutte le proprietà sono di sola lettura, anche se alcune possono essere modificate usando metodi che agiscono sul controllo, ad esempio IDockProvider::SetDockPosition (provider) o IUIAutomationDockPattern::SetDockPosition (client).

Per informazioni sul recupero dei valori delle proprietà, vedere Recupero di proprietà da elementi dell'automazione dell'interfaccia utente.

Proprietà ed eventi

Strettamente associato alle proprietà in UI Automation è il concetto di eventi di modifica delle proprietà. Per le proprietà dinamiche, un'applicazione client richiede un modo per sapere che un valore della proprietà è stato modificato, in modo che possa aggiornare la cache delle informazioni o reagire in altro modo alle nuove informazioni. I client possono registrarsi per ascoltare gli eventi di modifica su qualsiasi proprietà.

I provider generano eventi quando vengono apportate modifiche all'interfaccia utente. Ad esempio, se una casella di controllo è selezionata o deselezionata, l'implementazione del pattern di controllo Toggle del provider genera un evento di modifica della proprietà. I provider possono generare gli eventi in modo selettivo, a seconda che i client siano in ascolto di eventi oppure di eventi specifici.

Non tutte le modifiche di proprietà generano eventi. Questo dipende totalmente dall'implementazione del provider di automazione interfaccia utente per l'elemento. Ad esempio, i provider proxy standard per le caselle di selezione non attivano un evento di modifica della proprietà quando la proprietà Selection cambia. In questo caso, l'applicazione deve restare in ascolto dell'evento generato quando la selezione cambia (UIA_SelectionItem_ElementSelectedEventId).

I clienti ascoltano gli eventi sottoscrivendoli, come descritto in Sottoscrizione agli eventi di automazione dell'interfaccia utente. Per gli eventi di modifica delle proprietà in particolare, i client devono implementare IUIAutomationPropertyChangedEventHandler e passare l'interfaccia a IUIAutomation::AddPropertyChangedEventHandler o IUIAutomation::AddPropertyChangedEventHandlerNativeArray.

Riferimento

GetCurrentPropertyValue

GetCurrentPropertyValueEx

GetCachedPropertyValue

GetCachedPropertyValueEx

Concettuale

Panoramica dei pattern di controllo per l'automazione interfaccia utente

Panoramica dei tipi di controllo per l'automazione interfaccia utente

Panoramica degli eventi di automazione interfaccia utente