Condividi tramite


Procedura: distribuire un controllo personalizzato e assembly della fase di progettazione

Di solito si segue un flusso di lavoro simile quando si creano esperienze di progettazione per controlli personalizzati WPF e Silverlight. In questo argomento viene descritto come distribuire il controllo personalizzato e gli assembly della fase di progettazione.

Nota

Per esempi sulle modalità di implementazione di esperienze di progettazione personalizzate, vedere Esempi di Extensibility di WPF e Silverlight Designer.

Creazione e distribuzione di assembly della fase di progettazione

Per creare e distribuire assembly della fase di progettazione

  1. Implementare il controllo WPF o Silverlight.

  2. Decidere quali versioni del framework WPF Designer saranno destinazione dell'implementazione della fase di progettazione e quali strumenti della finestra di progettazione caricheranno gli assembly della fase di progettazione. Ad esempio, è possibile avere come destinazione la versione 4.0 del framework WPF Designer e creare progettazioni specifiche di Visual Studio 2010 o versioni successive e di Expression Blend 3 o versioni successive.

  3. Creare progetti corrispondenti per tutti gli assembly della fase di progettazione. Denominare i progetti in base alla convenzione descritta in Distribuzione di un controllo personalizzato e di assembly della fase di progettazione. Ad esempio, lo scenario nel Passaggio 2 potrebbe disporre di progetti con i nomi seguenti.

    Convenzione di denominazione

    Descrizione

    <LibreriaControlli>.Design.4.0.dll

    Implementazione della fase di progettazione comune.

    <LibreriaControlli>.Expression.Design.4.0.dll

    Esegue l'override dell'implementazione della fase di progettazione comune con i metadati specifici di Expression Blend.

    <LibreriaControlli>.VisualStudio.Design.4.0.dll

    Esegue l'override dell'implementazione della fase di progettazione comune con i metadati specifici di Visual Studio.

  4. Dirigere l'output di compilazione di ogni progetto della fase di progettazione verso una cartella comune. Questa cartella può essere la stessa cartella che contiene i controlli personalizzati o può essere una sottocartella denominata Design.

  5. Aggiungere una classe che implementa l'interfaccia IProvideAttributeTable in ogni progetto della fase di progettazione. Questa classe spesso è denominata Metadata o RegisterMetadata. In questa classe si specificano le funzionalità implementate nella fase di progettazione personalizzata. Specificare inoltre quali classi vengono visualizzate nella finestra di dialogo Scegli elementi della casella degli strumenti.

  6. Applicare ProvideMetadataAttribute a ogni assembly della fase di progettazione e utilizzarlo per specificare la classe RegisterMetadata corrispondente.

  7. Registrare il controllo e gli assembly della fase di progettazione correlati tramite la procedura di registrazione AssemblyFoldersEx. AssemblyFoldersEx è un percorso del Registro di sistema in cui i fornitori di terze parti archiviano i percorsi per ogni versione del framework che supportano. La risoluzione della fase di progettazione può cercare in questo percorso del Registro di sistema per trovare gli assembly di riferimento. Lo script del Registro di sistema può specificare i controlli che si desidera visualizzare nella casella degli strumenti. Per ulteriori informazioni, vedere Distribuzione di un controllo personalizzato e di assembly della fase di progettazione.

Vedere anche

Riferimenti

AttributeTable

ProvideMetadataAttribute

Altre risorse

Distribuzione di un controllo personalizzato e di assembly della fase di progettazione

Visual Studio Extension Deployment

Aggiunta di metadati della fase di progettazione

Informazioni sull'estensibilità Progettazione WPF

Concetti di base sulla estensibilità

Esempi di estensibilità di WPF e Silverlight Designer