Implementazione del pattern di controllo ExpandCollapse di automazione interfaccia utente
![]() |
---|
La presente documentazione è destinata agli sviluppatori di .NET Framework che desiderano utilizzare le classi UI Automation gestite definite nello spazio dei nomi System.Windows.Automation.Per informazioni aggiornate sull'UI Automation, vedere Windows Automation API: Automazione interfaccia utente (la pagina potrebbe essere in inglese). |
In questo argomento vengono presentate linee guida e convenzioni per l'implementazione di IExpandCollapseProvider, incluse le informazioni su proprietà, metodi ed eventi. I collegamenti a ulteriori riferimenti sono elencati alla fine dei cenni preliminari.
Il pattern di controllo ExpandCollapsePattern viene utilizzato per supportare i controlli che si espandono visivamente per visualizzare più contenuto e si comprimono per nasconderlo. Per esempi di controlli che implementano questo modello, vedere Mapping dei pattern di controllo per i client di automazione interfaccia utente.
Nel presente argomento sono contenute le seguenti sezioni.
- Implementazione di linee guida e convenzioni
- Membri obbligatori per IExpandCollapseProvider
- Eccezioni
- Argomenti correlati
Implementazione di linee guida e convenzioni
Quando si implementa il pattern di controllo ExpandCollapse, tenere presenti le linee guida e le convenzioni seguenti:
I controlli aggregati, compilati con oggetti figlio che forniscono all'interfaccia utente la funzionalità di espansione/compressione, devono supportare il pattern di controllo ExpandCollapsePattern a differenza dei relativi elementi figlio. Ad esempio, un controllo casella combinata viene compilato con una combinazione di controlli casella di riepilogo, pulsante e modifica, ma solo la casella combinata padre deve supportare l'oggetto ExpandCollapsePattern.
Nota
Un'eccezione è data dal controllo menu, un aggregato di singoli oggetti MenuItem.Gli oggetti MenuItem possono supportare il pattern di controllo ExpandCollapsePattern, a differenza del controllo Menu padre.Un'eccezione analoga si applica ai controlli Tree e TreeItem.
Quando l'enumerazione ExpandCollapseState di un controllo è impostata su LeafNode, qualsiasi funzionalità ExpandCollapsePattern è attualmente inattiva per il controllo e l'unica informazione che è possibile ottenere utilizzando il pattern di controllo è l'oggetto ExpandCollapseState. Se si aggiungono successivamente oggetti figlio, l'enumerazione ExpandCollapseState cambia e la funzionalità ExpandCollapsePattern viene attivata.
L'oggetto ExpandCollapseState fa riferimento alla visibilità di oggetti figlio immediati, non alla visibilità di tutti gli oggetti discendenti.
La funzionalità di espansione e compressione è specifica del controllo. Di seguito sono elencati esempi di questo comportamento.
Il menu personale di Office può essere un MenuItem a tre stati (Expanded, Collapsed e PartiallyExpanded) dove il controllo specifica lo stato da adottare quando viene chiamato un metodo Expand o Collapse.
Tramite la chiamata al metodo Expand su un oggetto TreeItem è possibile visualizzare tutti i discendenti o solo i figli immediati.
Se la chiamata al metodo Expand o Collapse su un controllo mantiene lo stato dei discendenti, è necessario inviare un evento di modifica della visibilità, non un evento di modifica dello stato. Se il controllo padre non mantiene lo stato dei discendenti quando viene compresso, è possibile che il controllo elimini tutti i discendenti non più visibili e generi un evento di eliminazione. In alternativa, è possibile che modifichi la proprietà ExpandCollapseState per ogni discendente e generi un evento di modifica della visibilità.
Per garantire lo spostamento, è utile che un oggetto si trovi nella struttura ad albero di UI Automation (con stato di visibilità appropriato) indipendentemente dagli elementi ExpandCollapseState padre. Se i discendenti vengono generati su richiesta, è possibile che vengano visualizzati nella struttura ad albero di UI Automation solo dopo essere stati visualizzati la prima volta o solo quando sono visibili.
Membri obbligatori per IExpandCollapseProvider
Le proprietà e i metodi seguenti sono obbligatori per l'implementazione di IExpandCollapseProvider.
Membri obbligatori |
Tipo di membro |
Note |
---|---|---|
Proprietà |
Nessuno |
|
Metodo |
Nessuno |
|
Metodo |
Nessuno |
|
Evento |
Questo controllo non ha eventi associati; utilizzare questo delegato generico. |
Eccezioni
I provider devono generare le eccezioni seguenti.
Tipo di eccezione |
Condizione |
---|---|
Viene chiamato il metodo Expand o Collapse quando ExpandCollapseState = LeafNode. |
Vedere anche
Attività
Supportare pattern di controllo in un provider di automazione interfaccia utente
Navigare tra gli elementi di automazione interfaccia utente utilizzando TreeWalker
Utilizzare la memorizzazione nella cache per l'automazione interfaccia utente
Concetti
Cenni preliminari sui pattern di controllo per l'automazione interfaccia utente
Pattern di controllo di automazione interfaccia utente per i client
Cenni preliminari sulla struttura ad albero di automazione dell'interfaccia utente