Condividi tramite


Modelli di controllo dell'automazione dell'interfaccia utente per i clienti

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.

Questa panoramica presenta i modelli di controllo per i client di automazione interfaccia utente. Include informazioni su come un client di automazione interfaccia utente può usare i modelli di controllo per accedere alle informazioni sull'interfaccia utente.

I pattern di controllo consentono di classificare ed esporre la funzionalità di un controllo indipendentemente dal tipo di controllo o dall'aspetto del controllo. I client di automazione interfaccia utente possono esaminare un AutomationElement oggetto per determinare quali modelli di controllo sono supportati e assicurarsi del comportamento del controllo.

Per un elenco completo dei pattern di controllo, vedere Ui Automation Control Patterns Overview .For a complete list of control patterns, see UI Automation Control Patterns Overview.

Recupero di modelli di controllo

I client recuperano un pattern di controllo da un oggetto AutomationElement chiamando AutomationElement.GetCachedPattern o AutomationElement.GetCurrentPattern.

I client possono usare il GetSupportedPatterns metodo o una singola IsPatternAvailable proprietà ( ad esempio , IsTextPatternAvailableProperty) per determinare se un modello o un gruppo di modelli è supportato in AutomationElement. Tuttavia, è più efficiente tentare di ottenere il pattern di controllo e verificare la presenza di un null riferimento rispetto a controllare le proprietà supportate e recuperare il pattern di controllo perché comporta un minor numero di chiamate tra processi.

Nell'esempio seguente viene illustrato come ottenere un TextPattern pattern di controllo da un oggetto AutomationElement.

// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

targetTextPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

if (targetTextPattern == null)
{
    Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
    return;
}

Recupero di proprietà nei pattern di controllo

I clienti possono recuperare i valori delle proprietà dei modelli di controllo chiamando AutomationElement.GetCachedPropertyValue o AutomationElement.GetCurrentPropertyValue e convertendo l'oggetto restituito in un tipo appropriato. Per altre informazioni sulle proprietà di automazione interfaccia utente, vedere Proprietà di automazione interfaccia utente per i client.

Oltre ai GetPropertyValue metodi, i valori delle proprietà possono essere recuperati tramite gli accessori CLR (Common Language Runtime) per accedere alle proprietà di automazione dell'interfaccia utente seguendo uno schema.

Controlli con modelli variabili

Alcuni tipi di controllo supportano modelli diversi a seconda dello stato o del modo in cui viene usato il controllo. Esempi di controlli che possono avere modelli variabili sono visualizzazioni elenco (anteprime, riquadri, icone, elenco, dettagli), grafici di Microsoft Excel (torta, linea, barra, valore cella con una formula), area documento di Microsoft Word (normale, layout Web, struttura, layout di stampa, anteprima di stampa) e interfacce di Microsoft Windows Media Player.

I controlli che implementano tipi di controllo personalizzati possono avere qualsiasi set di pattern di controllo necessari per rappresentare le relative funzionalità.

Vedere anche