Cenni preliminari sulle proprietà di automazione interfaccia utente
Nota
Questa documentazione è destinata agli sviluppatori .NET Framework che desiderano utilizzare le classi di UI Automation gestite definite nello spazio dei nomi System.Windows.Automation. Per informazioni aggiornate su UI Automation, vedere API di automazione di Windows: UI Automation.
I provider di UI Automation espongono proprietà sugli elementi di Microsoft UI Automation. Queste proprietà consentono alle applicazioni client di automazione interfaccia utente di individuare informazioni su parti dell'interfaccia utente, soprattutto i controlli, inclusi i dati sia statici che dinamici.
Questa sezione offre una panoramica generale delle proprietà di Microsoft UI Automation. Informazioni più specifiche sono disponibili negli argomenti seguenti:
Identificatori di proprietà
Ogni proprietà è identificata da un numero e da un nome. I nomi delle proprietà vengono usati solo per il debug e la diagnosi. I provider usano gli ID numerici per identificare le richieste in ingresso delle proprietà. Le applicazioni client, tuttavia, usano solo AutomationProperty, che incapsula il numero e il nome, per identificare le proprietà che vogliono recuperare.
Gli oggettiAutomationProperty che rappresentano particolari proprietà sono disponibili come campi in diverse classi. Per motivi di sicurezza, i provider di automazione interfaccia utente ottengono questi oggetti da un set separato di classi contenute in Uiautomationtypes.dll.
La tabella seguente classifica le proprietà in base alle classi contenenti gli AutomationPropertyID.
Tipologie di proprietà | I client ottengono gli ID da | I provider ottengono gli ID da |
---|---|---|
Proprietà comuni a tutti gli elementi (vedere le tabelle seguenti) | AutomationElement | AutomationElementIdentifiers |
Posizione di una finestra di ancoraggio | DockPattern | DockPatternIdentifiers |
Stato di un elemento che può essere espanso e compresso | ExpandCollapsePattern | ExpandCollapsePatternIdentifiers |
Proprietà di un elemento in una griglia | GridItemPattern | GridItemPatternIdentifiers |
Proprietà di una griglia | GridPattern | GridPatternIdentifiers |
Visualizzazione corrente e supportata di un elemento con più visualizzazioni | MultipleViewPattern | MultipleViewPatternIdentifiers |
Proprietà di un elemento che viene spostato su un intervallo di valori, ad esempio un dispositivo di scorrimento | RangeValuePattern | RangeValuePatternIdentifiers |
Proprietà di una finestra di scorrimento | ScrollPattern | ScrollPatternIdentifiers |
Stato e contenitore di un elemento che può essere selezionato, ad esempio in un elenco | SelectionItemPattern | SelectionItemPatternIdentifiers |
Proprietà di un controllo contenente gli elementi della selezione | SelectionPattern | SelectionPatternIdentifiers |
Intestazioni di colonna e di riga di un elemento in una tabella | TableItemPattern | TableItemPatternIdentifiers |
Intestazioni di colonna e di riga e orientamento di una tabella | TablePattern | TablePatternIdentifiers |
Stato di un controllo di attivazione/disattivazione | TogglePattern | TogglePatternIdentifiers |
Funzionalità di un elemento che può essere spostato, ruotato o ridimensionato | TransformPattern | TransformPatternIdentifiers |
Valore e funzionalità di lettura/scrittura di un elemento con un valore | ValuePattern | ValuePatternIdentifiers |
Funzionalità e stato di una finestra | WindowPattern | WindowPatternIdentifiers |
Proprietà per categoria
Le tabelle seguenti classificano le proprietà di cui esistono gli ID in AutomationElement e AutomationElementIdentifiers. Queste proprietà sono comuni a tutti i controlli. È probabile che quasi tutte siano statiche per tutto il ciclo di vita dell'applicazione del provider. Le proprietà più dinamiche sono associate ai pattern di controllo.
La colonna Accesso a proprietà elenca tutte le altre funzioni di accesso per ogni proprietà, oltre a GetCurrentPropertyValue e GetCachedPropertyValue. Per altre informazioni su come ottenere le proprietà in un'applicazione client, vedere UI Automation Properties for Clients.
Nota
Per informazioni specifiche su ogni proprietà, seguire il collegamento nella colonna Accesso a proprietà .
Caratteristiche dello schermo
Identificatore proprietà | Accesso a proprietà |
---|---|
BoundingRectangleProperty | BoundingRectangle |
CultureProperty | n/d |
HelpTextProperty | HelpText |
IsOffscreenProperty | IsOffscreen |
OrientationProperty | Orientation |
Tipo di elemento
Identificatore proprietà | Accesso a proprietà |
---|---|
ControlTypeProperty | ControlType |
IsContentElementProperty | IsContentElement |
IsControlElementProperty | IsControlElement |
ItemTypeProperty | ItemType |
LocalizedControlTypeProperty | LocalizedControlType |
Identificazione
Identificatore proprietà | Accesso a proprietà |
---|---|
AutomationIdProperty | AutomationId |
ClassNameProperty | ClassName |
FrameworkIdProperty | FrameworkId |
LabeledByProperty | LabeledBy |
NameProperty | Name |
ProcessIdProperty | ProcessId |
RuntimeIdProperty | GetRuntimeId |
NativeWindowHandleProperty | NativeWindowHandle |
Interazione
Identificatore proprietà | Accesso a proprietà |
---|---|
AcceleratorKeyProperty | AcceleratorKey |
AccessKeyProperty | AccessKey |
ClickablePointProperty | GetClickablePoint |
HasKeyboardFocusProperty | HasKeyboardFocus |
IsEnabledProperty | IsEnabled |
IsKeyboardFocusableProperty | IsKeyboardFocusable |
Supporto per pattern
Varie
Identificatore proprietà | Accesso a proprietà |
---|---|
IsRequiredForFormProperty | IsRequiredForForm |
IsPasswordProperty | IsPassword |
ItemStatusProperty | ItemStatus |
Localizzazione
I provider di UI Automation devono presentare le proprietà seguenti nel linguaggio del sistema operativo:
Proprietà ed eventi
In UI Automation il concetto di eventi di modifica di proprietà è strettamente collegato alle proprietà. Per le proprietà dinamiche, l'applicazione client deve venire a conoscenza del fatto che il valore di una proprietà è cambiato, per poter aggiornare la cache delle informazioni o rispondere in altro modo alle nuove informazioni.
I provider generano eventi quando vengono apportate modifiche all'interfaccia utente. Se, ad esempio, una casella di controllo viene selezionata o deselezionata, un evento di modificata di proprietà viene generato dall'implementazione del pattern Toggle da parte del provider. 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 di proxy standard per le caselle di riepilogo non generano un evento quando SelectionProperty cambia. In questo caso, l'applicazione è invece in ascolto di un evento ElementSelectedEvent.
I client restano in ascolto degli eventi sottoscrivendoli. Sottoscrivere gli eventi significa creare metodi delegati che possono gestire gli eventi e quindi passare i metodi a UI Automation insieme agli eventi specifici che verranno gestiti da tali metodi. In particolare, per gli eventi di modifica di proprietà i client devono implementare AutomationPropertyChangedEventHandler.
Vedi anche
- Memorizzazione nella cache di client di automazione interfaccia utente
- Proprietà di automazione interfaccia utente per i client
- Implementazione del provider di automazione interfaccia utente lato server
- Trovare un elemento di automazione interfaccia utente in base a una condizione proprietà
- Restituire proprietà da un provider di automazione interfaccia utente
- Generare eventi da un provider di automazione interfaccia utente