Pattern di controllo di automazione interfaccia utente per i clientUI Automation Control Patterns for Clients

Nota

Questa documentazione è destinata agli sviluppatori di .NET Framework che vogliono usare le classi gestite di Automazione interfaccia utenteUI Automation definite nello spazio dei nomi System.Windows.Automation.This documentation is intended for .NET Framework developers who want to use the managed Automazione interfaccia utenteUI Automation classes defined in the System.Windows.Automation namespace. Per informazioni aggiornate su Automazione interfaccia utenteUI Automation, vedere Windows Automation API: automazione interfaccia utente.For the latest information about Automazione interfaccia utenteUI Automation, see Windows Automation API: UI Automation.

In questa panoramica vengono presentati i pattern di controllo per i client di automazione interfaccia utente.This overview introduces control patterns for UI Automation clients. Sono incluse informazioni su come un client di automazione interfaccia utente può usare i pattern di controllo per accedere alle informazioni relative all' interfaccia utenteuser interface (UI).It includes information on how a UI Automation client can use control patterns to access information about the interfaccia utenteuser interface (UI).

I pattern di controllo rappresentano un metodo di classificazione ed esposizione della funzionalità di un controllo indipendentemente dal tipo o dall'aspetto del controllo stesso.Control patterns provide a way to categorize and expose a control's functionality independent of the control type or the appearance of the control. I client di automazione interfaccia utente possono esaminare un AutomationElement per determinare quali pattern di controllo sono supportati e verificare il comportamento del controllo.UI Automation clients can examine an AutomationElement to determine which control patterns are supported and be assured of the behavior of the control.

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 dei pattern di controlloGetting Control Patterns

I client possono ottenere pattern di controllo da AutomationElement con una chiamata a AutomationElement.GetCachedPattern o a AutomationElement.GetCurrentPattern.Clients retrieve a control pattern from an AutomationElement by calling either AutomationElement.GetCachedPattern or AutomationElement.GetCurrentPattern.

I client possono usare il metodo GetSupportedPatterns o una singola proprietà IsPatternAvailable (ad esempio, IsTextPatternAvailableProperty) per determinare se un pattern o un gruppo di pattern è supportato in AutomationElement.Clients can use the GetSupportedPatterns method or an individual IsPatternAvailable property (for example, IsTextPatternAvailableProperty) to determine if a pattern or group of patterns is supported on the AutomationElement. È tuttavia più efficiente tentare di ottenere il pattern di controllo e verificare la presenza di un riferimento null anziché controllare le proprietà supportate e recuperare il pattern di controllo, poiché ciò comporta un numero inferiore di chiamate tra processi.However, it is more efficient to attempt to get the control pattern and test for a null reference than to check the supported properties and retrieve the control pattern since it results in fewer cross-process calls.

Nell'esempio seguente viene illustrato come ottenere un TextPattern pattern di controllo da AutomationElement.The following example demonstrates how to get a TextPattern control pattern from an 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 delle proprietà per i pattern di controlloRetrieving Properties on Control Patterns

I client possono recuperare i valori delle proprietà dei pattern di controllo con una chiamata a AutomationElement.GetCachedPropertyValue o a AutomationElement.GetCurrentPropertyValue e con il cast dell'oggetto restituito a un tipo appropriato.Clients can retrieve the property values on control patterns by calling either AutomationElement.GetCachedPropertyValue or AutomationElement.GetCurrentPropertyValue and casting the object returned to an appropriate type. Per ulteriori informazioni sulle proprietà di Automazione interfaccia utenteUI Automation, vedere UI Automation Properties for clients.For more information on Automazione interfaccia utenteUI Automation properties, see UI Automation Properties for Clients.

Oltre ai metodi di GetPropertyValue, è possibile recuperare i valori delle proprietà tramite le funzioni di accesso Common Language Runtime (CLR) per accedere alle proprietà Automazione interfaccia utenteUI Automation in un modello.In addition to the GetPropertyValue methods, property values can be retrieved through the common language runtime (CLR) accessors to access the Automazione interfaccia utenteUI Automation properties on a pattern.

Controlli con pattern variabiliControls with Variable Patterns

Alcuni tipi di controllo supportano pattern diversi a seconda dello stato del controllo o del modo in cui questo viene usato.Some control types support different patterns depending on their state or the manner in which the control is being used. Esempi di controlli che possono avere pattern variabili sono le visualizzazioni elenco (anteprime, riquadri, icone, elenchi, dettagli), grafici di Microsoft Excel (a torta, a linee, a barre, valore della cella con una formula), area documento di Microsoft Word (normale, layout Web, struttura, layout di stampa, stampa Anteprima) e Microsoft Windows Media Player Skins.Examples of controls that can have variable patterns are list views (thumbnails, tiles, icons, list, details), Microsoft Excel Charts (Pie, Line, Bar, Cell Value with a formula), Microsoft Word's document area (Normal, Web Layout, Outline, Print Layout, Print Preview), and Microsoft Windows Media Player skins.

I controlli che implementano i tipi di controllo personalizzati possono disporre di qualsiasi set di pattern di controllo necessario per la rappresentazione delle funzionalità dei controlli stessi.Controls implementing custom control types can have any set of control patterns that are needed to represent their functionality.

Vedere ancheSee also