Cenni preliminari sui pattern di controllo per l'automazione interfaccia utenteUI Automation Control Patterns Overview

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 Automationvedere API di automazione di Windows: Automazioneinterfaccia 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 Automazione interfaccia utente MicrosoftMicrosoft UI Automation .This overview introduces Automazione interfaccia utente MicrosoftMicrosoft UI Automation control patterns. 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.

Automazione interfaccia utenteUI Automation usa i pattern di controllo per rappresentare i comportamenti comuni dei controlli.uses control patterns to represent common control behaviors. Usare il pattern di controllo Invoke per i controlli che possono essere richiamati (ad esempio, i pulsanti) e il pattern di controllo Scroll per i controlli con barre di scorrimento (ad esempio le caselle di riepilogo, le visualizzazioni elenco o le caselle combinate).For example, you use the Invoke control pattern for controls that can be invoked (such as buttons) and the Scroll control pattern for controls that have scroll bars (such as list boxes, list views, or combo boxes). Poiché ogni pattern di controllo rappresenta una funzionalità distinta, possono essere combinati per descrivere il set completo di funzionalità supportate da un determinato controllo.Because each control pattern represents a separate functionality, they can be combined to describe the full set of functionality supported by a particular control.

Nota

I controlli aggregati, compilati con i controlli figlio che forniscono le funzionalità esposte dai controlli padre all' interfaccia utenteuser interface (UI) , devono implementare tutti i pattern di controllo normalmente associati a ogni controllo figlio.Aggregate controls—built with child controls that provide the interfaccia utenteuser interface (UI) for functionality exposed by the parent—should implement all control patterns normally associated with each child control. Per contro questi stessi modelli di controllo non devono essere implementati dai controlli figlio.In turn, those same control patterns are not required to be implemented by the child controls.

Componenti del pattern di controllo di automazione interfaccia utenteUI Automation Control Pattern Components

I pattern di controllo supportano i metodi, le proprietà, gli eventi e le relazioni necessari per definire una parte discreta della funzionalità disponibile in un controllo.Control patterns support the methods, properties, events, and relationships needed to define a discrete piece of functionality available in a control.

  • La relazione tra un elemento di automazione interfaccia utente e i relativi elementi padre, figlio e di pari livello descrive la struttura dell'elemento all'interno dell'albero di Automazione interfaccia utenteUI Automation .The relationship between a UI Automation element and its parent, children and siblings describes the element's structure within the Automazione interfaccia utenteUI Automation tree.

  • I metodi consentono ai client di automazione interfaccia utente di modificare il controllo.The methods allow UI Automation clients to manipulate the control.

  • Le proprietà e gli eventi rendono disponibili informazioni sulla funzionalità del pattern di controllo, nonché informazioni sullo stato del controllo.The properties and events provide information about the control pattern's functionality as well as information about the state of the control.

I pattern di controllo Interfaccia utenteUI sono correlati alle interfacce As per gli oggetti Component Object Model (com).Control patterns relate to Interfaccia utenteUI as interfaces relate to Component Object Model (COM) objects. In COM è possibile eseguire una query su un oggetto per richiedere quali interfacce sono supportate e quindi usare tali interfacce per accedere alla funzionalità.In COM, you can query an object to ask what interfaces it supports and then use those interfaces to access functionality. In Automazione interfaccia utenteUI Automationi client di automazione interfaccia utente possono chiedere a un controllo quali pattern di controllo supporta e quindi interagire con il controllo tramite le proprietà, i metodi, gli eventi e le strutture esposti dai pattern di controllo supportati.In Automazione interfaccia utenteUI Automation, UI Automation clients can ask a control which control patterns it supports and then interact with the control through the properties, methods, events, and structures exposed by the supported control patterns. Ad esempio, per una casella di modifica multiriga i provider di automazione interfaccia utente implementano IScrollProvider.For example, for a multiline edit box, UI Automation providers implement IScrollProvider. Quando un client riconosce che una classe AutomationElement supporta il pattern di controllo ScrollPattern , è possibile usare la proprietà, i metodi e gli eventi esposti da tale pattern di controllo per modificare il controllo o accedere alle informazioni sul controllo.When a client knows that an AutomationElement supports the ScrollPattern control pattern, it can use the properties, methods, and events exposed by that control pattern to manipulate the control, or access information about the control.

Provider e client di automazione interfaccia utenteUI Automation Providers and Clients

I provider di automazione interfaccia utente implementano pattern di controllo per esporre il comportamento appropriato per una parte specifica della funzionalità supportata dal controllo.UI Automation providers implement control patterns to expose the appropriate behavior for a specific piece of functionality supported by the control.

I client di automazione interfaccia utente accedono ai metodi e alle proprietà delle classi del pattern di controllo di Automazione interfaccia utenteUI Automation e li usano per ottenere informazioni sull' Interfaccia utenteUIo per modificare l' Interfaccia utenteUI.UI Automation clients access methods and properties of Automazione interfaccia utenteUI Automation control pattern classes and use them to get information about the Interfaccia utenteUI, or to manipulate the Interfaccia utenteUI. Queste classi di pattern di controllo sono disponibili nello spazio dei nomi System.Windows.Automation , ad esempio InvokePattern e SelectionPattern.These control pattern classes are found in the System.Windows.Automation namespace (for example, InvokePattern and SelectionPattern).

I client AutomationElement usano metodi AutomationElement.GetCurrentPropertyValue , ad esempio AutomationElement.GetCachedPropertyValueo, o le funzioni di accesso Common Language Runtime Automazione interfaccia utenteUI Automation (CLR) per accedere alle proprietà di un modello.Clients use AutomationElement methods (such as AutomationElement.GetCurrentPropertyValue or AutomationElement.GetCachedPropertyValue) or the common language runtime (CLR) accessors to access the Automazione interfaccia utenteUI Automation properties on a pattern. Ogni classe del pattern di controllo ha un membro del campo ( InvokePattern.Pattern ad SelectionPattern.Patternesempio, o) che identifica il pattern di controllo e può essere passato GetCachedPattern come GetCurrentPattern parametro a o per recuperare tale AutomationElementmodello per un oggetto.Each control pattern class has a field member (for example, InvokePattern.Pattern or SelectionPattern.Pattern) that identifies that control pattern and can be passed as a parameter to GetCachedPattern or GetCurrentPattern to retrieve that pattern for an AutomationElement.

Pattern di controllo dinamiciDynamic Control Patterns

Alcuni controlli non supportano sempre lo stesso set di pattern di controllo.Some controls do not always support the same set of control patterns. I pattern di controllo vengono considerati supportati quando sono disponibili per un client di automazione interfaccia utente.Control patterns are considered supported when they are available to a UI Automation client. Ad esempio, una casella di modifica multiriga supporta lo scorrimento verticale solo quando contiene più righe di testo che possono essere visualizzate nella relativa area visualizzabile.For example, a multiline edit box enables vertical scrolling only when it contains more lines of text than can be displayed in its viewable area. Lo scorrimento è disabilitato quando viene rimossa una quantità di testo sufficiente da rendere superfluo lo scorrimento.Scrolling is disabled when enough text is removed so that scrolling is no longer required. Per questo esempio, il pattern di controllo ScrollPattern è supportato in modo dinamico a seconda dello stato corrente del controllo, ovvero in base alla quantità di testo contenuta nella casella di modifica.For this example, the ScrollPattern control pattern is dynamically supported depending on the current state of the control (how much text is in the edit box).

Classi e interfacce dei pattern di controlloControl Pattern Classes and Interfaces

Nella tabella seguente vengono descritti i pattern di controllo per Automazione interfaccia utenteUI Automation .The following table describes the Automazione interfaccia utenteUI Automation control patterns. Sono inoltre elencate le classi usate dai client di automazione interfaccia utente per accedere ai pattern di controllo, nonché le interfacce usate dai provider di automazione interfaccia utente per implementarli.The table also lists the classes used by UI Automation clients to access the control patterns, as well as the interfaces used by UI Automation providers to implement them.

Classe del pattern di controlloControl Pattern Class Interfaccia del providerProvider Interface DescrizioneDescription
DockPattern IDockProvider Usata per i controlli che possono essere ancorati in un contenitore di ancoraggio,Used for controls that can be docked in a docking container. ad esempio barre degli strumenti o caselle di strumenti.For example, toolbars or tool palettes.
ExpandCollapsePattern IExpandCollapseProvider Usata per i controlli che possono essere espansi o compressi,Used for controls that can be expanded or collapsed. ad esempio voci di menu in un'applicazione, come il menu File .For example, menu items in an application such as the File menu.
GridPattern IGridProvider Usata per i controlli che supportano la funzionalità di griglia, come il ridimensionamento e spostamento in una cella specificata,Used for controls that support grid functionality such as sizing and moving to a specified cell. ad esempio la visualizzazione Icone grandi in Esplora risorse o le tabelle semplici senza intestazioni in Microsoft WordMicrosoft Word.For example, the large icon view in Windows Explorer or simple tables without headers in Microsoft WordMicrosoft Word.
GridItemPattern IGridItemProvider Usata per i controlli contenenti celle all'interno di griglie.Used for controls that have cells within grids. Le singole celle devono supportare il pattern GridItem.The individual cells should support the GridItem pattern. Ad esempio, ogni cella nella visualizzazione Dettagli di Esplora risorse di Microsoft WindowsMicrosoft Windows Explorer .For example, each cell in Esplora risorse di Microsoft WindowsMicrosoft Windows Explorer detail view.
InvokePattern IInvokeProvider Usata per i controlli che possono essere richiamati, ad esempio un pulsante.Used for controls that can be invoked, such as a button.
MultipleViewPattern IMultipleViewProvider Usata per i controlli che possono passare tra più rappresentazioni dello stesso set di informazioni, dati o elementi figlio.Used for controls that can switch between multiple representations of the same set of information, data, or children. Ad esempio, un controllo visualizzazione elenco in cui i dati sono disponibili nelle visualizzazioni anteprima, affiancata, icona, elenco o dettagliata.For example, a list view control where data is available in thumbnail, tile, icon, list, or detail views.
RangeValuePattern IRangeValueProvider Usata per i controlli contenenti un intervallo di valori che possono essere applicati al controllo.Used for controls that have a range of values that can be applied to the control. Ad esempio, un controllo casella di selezione contenente gli anni potrebbe avere un intervallo di valori da 1900 a 2010, mentre un altro controllo casella di selezione contenente i mesi può avere un intervallo di valori da 1 a 12.For example, a spinner control containing years might have a range of 1900 to 2010, while another spinner control presenting months would have a range of 1 to 12.
ScrollPattern IScrollProvider Usata per i controlli che supportano lo scorrimento,Used for controls that can scroll. ad esempio un controllo con barre di scorrimento attive quando sono presenti altre informazioni che possono essere visualizzate nell'area visualizzabile del controllo.For example, a control that has scroll bars that are active when there is more information than can be displayed in the viewable area of the control.
ScrollItemPattern IScrollItemProvider Usata per i controlli contenenti elementi in un elenco che supporta lo scorrimento,Used for controls that have individual items in a list that scrolls. ad esempio un elenco contenente singoli elementi nell'elenco a scorrimento, ad esempio un controllo casella combinata.For example, a list control that has individual items in the scroll list, such as a combo box control.
SelectionPattern ISelectionProvider Usata per i controlli contenitore di selezione,Used for selection container controls. ad esempio caselle di riepilogo e caselle combinate.For example, list boxes and combo boxes.
SelectionItemPattern ISelectionItemProvider Usata per i singoli elementi nei controlli contenitore di selezione, ad esempio caselle di riepilogo e caselle combinate.Used for individual items in selection container controls, such as list boxes and combo boxes.
TablePattern ITableProvider Usata per i controlli che dispongono di una griglia e di informazioni di intestazione,Used for controls that have a grid as well as header information. ad esempio, i fogli di lavoro di Microsoft ExcelMicrosoft Excel .For example, Microsoft ExcelMicrosoft Excel worksheets.
TableItemPattern ITableItemProvider Usata per gli elementi in una tabella.Used for items in a table.
TextPattern ITextProvider Usata per i controlli di modifica e i documenti che espongono informazioni testuali.Used for edit controls and documents that expose textual information.
TogglePattern IToggleProvider Usata per i controlli in cui è possibile passare alternativamente tra stati,Used for controls where the state can be toggled. ad esempio caselle di controllo e voci di menu selezionabili.For example, check boxes and checkable menu items.
TransformPattern ITransformProvider Usata per i controlli che è possibile ridimensionare, spostare e ruotare.Used for controls that can be resized, moved, and rotated. Il pattern di controllo Transform viene in genere usato in finestre di progettazione, moduli, editor grafici e applicazioni di disegno.Typical uses for the Transform control pattern are in designers, forms, graphical editors, and drawing applications.
ValuePattern IValueProvider Consente ai client di ottenere o impostare un valore per i controlli che non supportano un intervallo di valori,Allows clients to get or set a value on controls that do not support a range of values. ad esempio, un controllo di selezione di data e ora.For example, a date time picker.
WindowPattern IWindowProvider Espone informazioni specifiche di Windows, un concetto fondamentale per il sistema operativo Microsoft WindowsMicrosoft Windows .Exposes information specific to windows, a fundamental concept to the Microsoft WindowsMicrosoft Windows operating system. Esempi di controlli Windows sono le finestre dell'applicazione di primo livello (Microsoft WordMicrosoft Word, Esplora risorse di Microsoft WindowsMicrosoft Windows Explorere così via), le finestre figlio MDI (Multiple Document Interface) e le finestre di dialogo.Examples of controls that are windows are top-level application windows (Microsoft WordMicrosoft Word, Esplora risorse di Microsoft WindowsMicrosoft Windows Explorer, and so on), multiple-document interface (MDI) child windows, and dialogs.

Vedere ancheSee also