Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
Questo argomento presenta linee guida e convenzioni per l'implementazione di ISelectionProvider, incluse informazioni su eventi e proprietà. I collegamenti a riferimenti aggiuntivi sono elencati alla fine dell'argomento.
Il modello di controllo SelectionPattern viene utilizzato per supportare controlli che fungono da contenitori per una raccolta di elementi figli selezionabili. Gli elementi figlio di questo elemento devono essere implementati ISelectionItemProvider. Per esempi di controlli che implementano questo pattern di controllo, vedere Mapping dei criteri di controllo per i client di automazione interfaccia utente.
Linee guida e convenzioni di implementazione
Quando si implementa il pattern di controllo Selection, tenere presenti le linee guida e le convenzioni seguenti:
I controlli che implementano ISelectionProvider permettono di selezionare uno o più elementi figli. Ad esempio, la casella di riepilogo, la visualizzazione elenco e la visualizzazione ad albero supportano selezioni multiple, mentre la casella combinata, il cursore e il gruppo di pulsanti di opzione supportano la selezione singola.
I controlli che hanno un intervallo minimo, massimo e continuo, come il dispositivo di controllo del volume, devono implementare IRangeValueProvider anziché ISelectionProvider.
I controlli a selezione singola che gestiscono i controlli figlio che implementano IRawElementProviderFragmentRoot, ad esempio il dispositivo di scorrimento Schermo nella finestra di dialogo Proprietà di visualizzazione o il controllo selezione colori di Microsoft Word (illustrato di seguito), devono implementare ISelectionProvider; i relativi elementi figlio devono implementare sia IRawElementProviderFragment che ISelectionItemProvider.
Esempio di mappatura delle stringhe del campione di colore
- I menu non sono in grado di supportare SelectionPattern. Se si utilizzano voci di menu che includono sia grafica che testo (ad esempio, le voci del riquadro di anteprima nel menu Visualizza in Microsoft Outlook) e devono comunicare lo stato, è necessario implementare IToggleProvider.
Membri obbligatori per ISelectionProvider
Per l'interfaccia ISelectionProvider sono necessarie le proprietà, i metodi e gli eventi seguenti.
| Membri obbligatori | TIPO | Note |
|---|---|---|
| CanSelectMultiple | Proprietà | Deve supportare gli eventi modificati della proprietà usando AddAutomationPropertyChangedEventHandler e RemoveAutomationPropertyChangedEventHandler. |
| IsSelectionRequired | Proprietà | Deve supportare gli eventi modificati della proprietà usando AddAutomationPropertyChangedEventHandler e RemoveAutomationPropertyChangedEventHandler. |
| GetSelection | Metodo | Nessuno |
| InvalidatedEvent | Evento | Generato quando una selezione in un contenitore è cambiata in modo significativo e richiede l'invio di più eventi di addizione e rimozione rispetto a quelli consentiti dalla InvalidateLimit costante. |
Le IsSelectionRequired proprietà e CanSelectMultiple possono essere dinamiche. Ad esempio, lo stato iniziale di un controllo potrebbe non avere elementi selezionati per impostazione predefinita, a indicare che IsSelectionRequired è false. Tuttavia, dopo aver selezionato un elemento, il controllo deve sempre avere almeno un elemento selezionato. Analogamente, in rari casi, un controllo potrebbe consentire la selezione di più elementi durante l'inizializzazione, ma successivamente consente di effettuare solo selezioni singole.
Eccezioni
I provider devono sollevare le eccezioni seguenti.
| Tipo di eccezione | Condizione |
|---|---|
| ElementNotEnabledException | Se il controllo non è abilitato. |
| InvalidOperationException | Se il controllo è nascosto. |
Vedere anche
- Panoramica dei modelli di controllo per l'automazione dell'interfaccia utente
- Supportare i Pattern di Controllo in un Provider di Automazione dell'Interfaccia Utente
- Modelli di Controllo di Automazione per l'Interfaccia Utente dei Client
- Implementazione del pattern di controllo SelectionItem per l'Automazione dell'Interfaccia Utente
- Panoramica dell'albero di automazione dell'interfaccia utente
- Usare il caching nell'automazione dell'interfaccia utente