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

Identificatore proprietà Accesso a 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

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