Partager via


Comment : déployer un contrôle personnalisé et des assemblys au moment du design

Vous suivez généralement un workflow similaire lorsque vous créez une expérience de conception pour vos contrôles WPF et Silverlight personnalisés. Cette rubrique décrit comment déployer votre contrôle personnalisé et vos assemblys au moment du design.

Notes

Pour obtenir des exemples qui indiquent comment implémenter des expériences au moment du design personnalisées, consultez Exemples d'extensibilité du Concepteur WPF et Silverlight (page éventuellement en anglais).

Création et déploiement d'assemblys au moment du design

Pour créer et déployer des assemblys au moment du design

  1. Implémentez votre contrôle WPF ou Silverlight.

  2. Décidez quelles versions de l'infrastructure Concepteur WPF cible votre implémentation au moment du design, et déterminez les outils du concepteur qui chargeront vos assemblys au moment du design. Par exemple, vous pouvez cibler la version 4.0 de l'infrastructure Concepteur WPF et créer des expériences de conception spécifiques à Visual Studio 2010 et versions ultérieures et Expression Blend 3 et versions ultérieures.

  3. Créez des projets correspondants pour chacun de vos assemblys au moment du design. Nommez les projets d'après la convention décrite dans Déploiement d'un contrôle personnalisé et d'assemblys au moment du design. Par exemple, le scénario de l'étape 2 pourrait comporter des projets avec les noms suivants.

    Convention d'affectation de noms

    Description

    <ControlLibrary>.Design.4.0.dll

    Implémentation au moment du design commune.

    <ControlLibrary>.Expression.Design.4.0.dll

    Substitue l'implémentation au moment du design commune par des métadonnées spécifiques à Expression Blend.

    <ControlLibrary>.VisualStudio.Design.4.0.dll

    Substitue l'implémentation au moment du design commune par des métadonnées spécifiques à Visual Studio.

  4. Dirigez la sortie de génération de chaque projet au moment du design vers un dossier commun. Ce dossier peut être le dossier qui contient vos contrôles personnalisés ou il peut s'agir d'un sous-dossier intitulé Design.

  5. Ajoutez une classe qui implémente l'interface IProvideAttributeTable pour chaque projet au moment du design. Cette classe est souvent appelée Metadata ou RegisterMetadata. Dans cette classe, vous spécifiez les fonctionnalités implémentées dans votre projet au moment du design personnalisé. Vous spécifiez également les classes qui s'affichent dans la boîte de dialogue Choisir les éléments de la Boîte à outils.

  6. Appliquez le ProvideMetadataAttribute à chaque assembly au moment du design et utilisez-le pour spécifier la classe RegisterMetadata correspondante.

  7. Enregistrez votre contrôle et ses assemblys au moment du design associés à l'aide de la procédure d'inscription AssemblyFoldersEx. AssemblyFoldersEx est un emplacement de Registre où les fournisseurs tiers stockent des chemins d'accès pour chaque version de l'infrastructure qu'ils prennent en charge. La résolution au moment du design peut utiliser cet emplacement de Registre pour rechercher des assemblys de référence. Le script de registre peut spécifier les contrôles que vous souhaitez voir s'afficher dans la Boîte à outils. Pour plus d'informations, consultez Déploiement d'un contrôle personnalisé et d'assemblys au moment du design.

Voir aussi

Référence

AttributeTable

ProvideMetadataAttribute

Autres ressources

Déploiement d'un contrôle personnalisé et d'assemblys au moment du design

Visual Studio Extension Deployment

Mise à disposition de métadonnées au moment du design

Fonctionnement de l'extensibilité du Concepteur WPF

Concepts d'extensibilité de base

WPF and Silverlight Designer Extensibility Samples