Informazioni su comandi e controlli
La separazione della logica dalla presentazione è la filosofia di progettazione che ispira il sistema di presentazione dei comandi del framework della barra multifunzione di Windows, un sistema basato su un modello di progettazione in cui le funzionalità e il comportamento vengono implementati in modo indipendente dai controlli che espongono questa funzionalità.
Introduzione
Questo articolo illustra la progettazione del sistema di comandi del framework Ribbon della barra multifunzione. Descrive i concetti di Comandi e controlli ed esplora il modo in cui interagiscono per offrire un'esperienza di comando avanzata con una serie di nuove funzionalità dell'interfaccia utente.
Sistema di comandi della barra multifunzione di Windows
Nel framework della barra multifunzione i comandi e i controlli sono entità indipendenti. Un comando è una struttura astratta, senza vincoli di presentazione, che rappresenta un'attività o una classe di funzionalità specifica. Un controllo, invece, è un oggetto concreto che espone la funzionalità Command tramite l'interfaccia utente della barra multifunzione.
Questa distinzione offre la possibilità di definire comandi privi di dettagli dell'interfaccia utente e in grado di eseguire sulla finalità di un'azione senza la necessità di gestire il modo in cui è stata richiamata l'azione.
Controlli
I controlli sono gli oggetti dell'interfaccia utente necessari per la presentazione command. Vengono sottoposti a rendering e gestiti in fase di esecuzione dal framework in base all'interazione dell'utente e a un set di proprietà e comportamenti intrinseci.
Noto come layout adattivo, la flessibilità gestita dal framework dell'interfaccia utente è uno dei punti di forza della barra multifunzione. I controlli della barra multifunzione possono riconfigurarsi automaticamente tramite modelli di layout dipendenti dal framework o definiti dallo sviluppatore in grado di rispondere a vari requisiti di runtime, tutti senza scrivere una singola riga di codice di presentazione. Per ulteriori informazioni, consultare Personalizzazione di una barra multifunzione tramite definizioni di dimensioni e criteri di ridimensionamento.
Oltre ai vantaggi del layout adattivo, numerosi controlli della barra multifunzione complessi offrono soluzioni autonome per spazi di problemi specifici dell'interfaccia utente. Offrendo un modello di interazione sofisticato, i controlli della barra multifunzione, ad esempio FontControl o ColorPicker, offrono la possibilità di modificare i dati in termini più astratti tramite contenitori di proprietà di attributi effettivi di tipo di carattere o colore anziché tramite vari controlli secondari, enumerazioni e valori di indice dei controlli Standard di Windows.
Comandi
Associato in modo libero ai controlli della barra multifunzione che espongono le loro funzionalità, le implementazioni dei comandi sono dominio dell'applicazione host e assumono la forma di listener di eventi, gestori dei comandi e varie proprietà dei comandi.
I comandi vengono dichiarati nel markup della barra multifunzione con un ID univoco o assegnati a un ID generato dal compilatore di markup in fase di compilazione. I comandi sono associati ai controlli tramite un nome di comando, ma, a differenza dei controlli, la relativa funzionalità effettiva viene definita nel codice in cui sono associati a gestori di comandi specifici tramite l'ID comando.
Nota
In fase di compilazione, questo ID viene archiviato in un file di intestazione di definizione ID che espone i comandi ai gestori comandi corrispondenti nell'applicazione host della barra multifunzione.
Ogni comando ha un tipo di comando sottostante incluso nell'enumerazione UI_COMMANDTYPE.
Esperienza di comando in azione
Le funzionalità di questo modello di comando sono illustrate dalla barra di accesso rapido della barra multifunzione (QAT). QAT offre agli utenti finali un modo per definire facilmente le proprie scorciatoie per praticamente ogni controllo nell'interfaccia utente della barra multifunzione. Un collegamento viene aggiunto dinamicamente alla QAT durante l'esecuzione quando l'utente fa clic con il pulsante destro del mouse su un controllo della Barra Multifunzione e seleziona Aggiungi alla barra di accesso rapido dal menu di scelta rapida.
L'immagine seguente mostra il Incolla e Incolla da comandi, rappresentati da un controllo SplitButton, nella barra multifunzione di Windows 7 Paint.
L'immagine seguente mostra lo stesso Incolla e incolla da comandi, ancora rappresentati da un controllo SplitButton, nella barra multifunzione QAT di Windows 7 Paint.
Quando un controllo è ospitato dal controllo QAT, la nuova istanza del controllo mantiene tutte le funzionalità del controllo originale senza la necessità di listener di eventi e gestori di comandi aggiuntivi per supportarlo. Entrambi i controlli sono associati allo stesso gestore comandi della barra multifunzione tramite un identificatore di comando condiviso. In questo modo, il framework considera entrambi i controlli come uno, indipendentemente dal fatto che venga richiamato.
Nota
Gli stessi vantaggi vengono realizzati quando i comandi vengono incorporati in un ContextPopup in fase di progettazione. In questo caso, i gestori dei comandi Incolla possono essere usati sia che il controllo SplitButton venga visualizzato nel Ribbon, nella barra degli strumenti di accesso rapido (QAT), o nel ContextPopup.
Argomenti correlati