Informazioni sui comandi e sui 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 vengono implementate funzionalità e comportamento in modo indipendente dai controlli che espongono questa funzionalità.

Introduzione

Questo articolo illustra la progettazione del sistema di comandi framework della barra multifunzione. Descrive i concetti dei comandi e dei 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 comando della barra multifunzione 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 specifica di funzionalità. Un controllo, d'altra parte, è un oggetto concreto che espone la funzionalità Command tramite l'interfaccia utente della barra multifunzione.

Questa distinzione offre la possibilità di definire i comandi liberi 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 dei comandi. Vengono sottoposti a rendering e gestiti in fase di esecuzione dal framework in base all'interazione utente e a un set di proprietà e comportamenti intrinseci.

Noto come layout adattivo, la flessibilità gestita dal framework dell'interfaccia utente è uno dei principali 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 altre informazioni, vedere Personalizzazione di una barra multifunzione tramite definizioni di dimensioni e criteri di scalabilità.

Oltre ai vantaggi del layout adattivo, numerosi controlli della barra multifunzione complessi offrono soluzioni autonome per spazi di problema dell'interfaccia utente specifici. 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 i contenitori di proprietà di attributi effettivi di tipo carattere o colore anziché tramite vari controlli secondari, enumerazioni e valori di indice dei controlli Windows standard.

Comandi

Associato in modo libero ai controlli della barra multifunzione che espongono la loro funzionalità, le implementazioni dei comandi sono il dominio dell'applicazione host e prendono la forma di listener eventi, gestori di comandi e varie proprietà del comando.

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 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 itemizzato nell'enumerazione UI_COMMANDTYPE .

Esperienza di comando in azione

Le funzionalità di questo modello di comando sono illustrate dalla barra degli strumenti di accesso rapido della barra multifunzione (QAT). QaT fornisce agli utenti finali un modo per definire facilmente i propri collegamenti per qualsiasi controllo nell'interfaccia utente della barra multifunzione. Un collegamento viene aggiunto dinamicamente al controllo QAT in fase di esecuzione quando l'utente fa clic con il pulsante destro del mouse su un controllo barra multifunzione e seleziona Aggiungi alla barra degli strumenti di accesso rapido dal menu di scelta rapida.

L'immagine seguente mostra il controllo Incolla e Incolla da comandi, rappresentato da un controllo SplitButton , nella barra multifunzione di Windows 7 Paint.

immagine del splitbutton incolla nella barra multifunzione di disegno Microsoft.

L'immagine seguente mostra la stessa proprietà Incolla e Incolla da comandi, rappresentata comunque da un controllo SplitButton , nella barra multifunzione QAT di Windows 7 Paint.

immagine del splitbutton incolla nella microsoft paint qat.

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 aggiuntivi e gestori di comandi 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 viene richiamato.

Nota

Gli stessi vantaggi vengono realizzati quando i comandi vengono incorporati in un contestoPopup in fase di progettazione. In questo caso, i gestori dei comandi Incolla possono essere usati se il controllo SplitButton viene visualizzato nella barra multifunzione, nel controllo QAT o nel contestoPopup.

 

Introduzione a Windows Ribbon Framework

Creazione di un'applicazione della barra multifunzione

Dichiarazione di comandi e controlli con markup della barra multifunzione