Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Questa documentazione è destinata agli sviluppatori .NET Framework che vogliono usare le classi di automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per le informazioni più recenti sull'automazione interfaccia utente, vedere API di automazione di Windows: Automazione interfaccia utente.
I provider di UI Automation espongono le proprietà sugli elementi di UI Automation di Microsoft. Queste proprietà consentono alle applicazioni client di automazione interfaccia utente di individuare informazioni sulle parti dell'interfaccia utente, in particolare i controlli, inclusi i dati statici e dinamici.
Questa sezione offre una panoramica generale delle proprietà di Automazione interfaccia utente Microsoft. Negli argomenti seguenti vengono fornite informazioni più specifiche:
Proprietà di automazione dell'interfaccia utente per i clienti
Server-Side Implementazione del provider di automazione dell'interfaccia utente
Identificatori di proprietà
Ogni proprietà è identificata da un numero e 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 di proprietà in ingresso. Le applicazioni client, tuttavia, usano solo AutomationProperty, che incapsula il numero e il nome, per identificare le proprietà che desiderano recuperare.
AutomationProperty gli oggetti che rappresentano proprietà specifiche sono disponibili come campi in varie 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 che contengono gli AutomationPropertyID.
| Tipi 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ò espandere e comprimere | 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 si sposta 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, come in un elenco | SelectionItemPattern | SelectionItemPatternIdentifiers |
| Proprietà di un controllo che contiene elementi di selezione | SelectionPattern | SelectionPatternIdentifiers |
| Intestazioni di colonna e di riga di un elemento in una tabella | TableItemPattern | TableItemPatternIdentifiers |
| Intestazioni di colonna e riga e orientamento di una tabella | TablePattern | TablePatternIdentifiers |
| Stato di un interruttore | TogglePattern | TogglePatternIdentifiers |
| Funzionalità di un elemento che può essere spostato, ruotato o ridimensionato | TransformPattern | TransformPatternIdentifiers |
| Le capacità di valore e di lettura/scrittura di un elemento che possiede un valore. | ValuePattern | ValuePatternIdentifiers |
| Funzionalità e stato di una finestra | WindowPattern | WindowPatternIdentifiers |
Proprietà per categoria
Le tabelle seguenti classificano le proprietà i cui ID sono disponibili in AutomationElement e AutomationElementIdentifiers. Queste proprietà sono comuni a tutti i controlli. Tutti, ma alcuni di essi sono probabilmente statici per tutta la durata dell'applicazione del provider; la maggior parte delle proprietà dinamiche è associata ai pattern di controllo.
La colonna Accesso alle proprietà elenca tutte le altre funzioni di accesso per ogni proprietà, oltre a GetCurrentPropertyValue e .GetCachedPropertyValue Per altre informazioni su come ottenere proprietà in un'applicazione client, vedere UI Automation Properties for Clients.
Annotazioni
Per informazioni specifiche su ogni proprietà, seguire il collegamento nella colonna Accesso alle proprietà .
Caratteristiche di visualizzazione
| Identificatore di proprietà | Accesso alle proprietà |
|---|---|
| BoundingRectangleProperty | BoundingRectangle |
| CultureProperty | non disponibile |
| HelpTextProperty | HelpText |
| IsOffscreenProperty | IsOffscreen |
| OrientationProperty | Orientation |
Tipo di elemento
| Identificatore di proprietà | Accesso alle proprietà |
|---|---|
| ControlTypeProperty | ControlType |
| IsContentElementProperty | IsContentElement |
| IsControlElementProperty | IsControlElement |
| ItemTypeProperty | ItemType |
| LocalizedControlTypeProperty | LocalizedControlType |
Identificazione
| Identificatore di proprietà | Accesso alle proprietà |
|---|---|
| AutomationIdProperty | AutomationId |
| ClassNameProperty | ClassName |
| FrameworkIdProperty | FrameworkId |
| LabeledByProperty | LabeledBy |
| NameProperty | Name |
| ProcessIdProperty | ProcessId |
| RuntimeIdProperty | GetRuntimeId |
| NativeWindowHandleProperty | NativeWindowHandle |
Interazione
| Identificatore di proprietà | Accesso alle proprietà |
|---|---|
| AcceleratorKeyProperty | AcceleratorKey |
| AccessKeyProperty | AccessKey |
| ClickablePointProperty | GetClickablePoint |
| HasKeyboardFocusProperty | HasKeyboardFocus |
| IsEnabledProperty | IsEnabled |
| IsKeyboardFocusableProperty | IsKeyboardFocusable |
Supporto per i modelli
Misto
| Identificatore di proprietà | Accesso alle proprietà |
|---|---|
| IsRequiredForFormProperty | IsRequiredForForm |
| IsPasswordProperty | IsPassword |
| ItemStatusProperty | ItemStatus |
Localizzazione
I provider di automazione interfaccia utente devono presentare le proprietà seguenti nella lingua del sistema operativo:
Proprietà ed eventi
Strettamente legato alle proprietà in UI Automation è il concetto di eventi di modifica delle proprietà. Per le proprietà dinamiche, l'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 alle nuove informazioni in altro modo.
I provider generano eventi quando vengono apportate modifiche all'interfaccia utente. Ad esempio, se una casella di controllo è selezionata o deselezionata, viene generato un evento di modifica della proprietà dall'implementazione del provider del modello Toggle. 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 elenco non generano un evento quando SelectionProperty cambia. In questo caso, l'applicazione deve invece rimanere in ascolto di un oggetto ElementSelectedEvent.
I client ascoltano gli eventi sottoscrivendoli. La sottoscrizione agli eventi implica la creazione di metodi delegati che possono gestire gli eventi e quindi il passaggio dei metodi all'automazione interfaccia utente insieme agli eventi specifici che verranno gestiti in tali metodi. Per gli eventi di modifica della proprietà in particolare, i client devono implementare AutomationPropertyChangedEventHandler.
Vedere anche
- Memorizzazione nella cache nei client di automazione dell'interfaccia utente
- Proprietà di automazione dell'interfaccia utente per i clienti
- Server-Side Implementazione del provider di automazione dell'interfaccia utente
- Trovare un elemento di automazione interfaccia utente basato su una condizione di proprietà
- Restituire proprietà da un provider di automazione dell'interfaccia utente
- Generare eventi da un provider di automazione UI