Condividi tramite


Cenni preliminari sulle proprietà di automazione interfaccia utente

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:

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

Identificatore di proprietà Accesso alle proprietà
IsDockPatternAvailableProperty GetSupportedPatterns
IsExpandCollapsePatternAvailableProperty GetSupportedPatterns
IsGridItemPatternAvailableProperty GetSupportedPatterns
IsGridPatternAvailableProperty GetSupportedPatterns
IsInvokePatternAvailableProperty GetSupportedPatterns
IsMultipleViewPatternAvailableProperty GetSupportedPatterns
IsRangeValuePatternAvailableProperty GetSupportedPatterns
IsScrollItemPatternAvailableProperty GetSupportedPatterns
IsScrollPatternAvailableProperty GetSupportedPatterns
IsSelectionItemPatternAvailableProperty GetSupportedPatterns
IsSelectionPatternAvailableProperty GetSupportedPatterns
IsTableItemPatternAvailableProperty GetSupportedPatterns
IsTablePatternAvailableProperty GetSupportedPatterns
IsTextPatternAvailableProperty GetSupportedPatterns
IsTogglePatternAvailableProperty GetSupportedPatterns
IsTransformPatternAvailableProperty GetSupportedPatterns
IsValuePatternAvailableProperty GetSupportedPatterns
IsWindowPatternAvailableProperty GetSupportedPatterns

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