Gewusst wie: Bereitstellen eines benutzerdefinierten Steuerelements und von Entwurfszeitassemblys

Sie folgen normalerweise einem ähnlichen Workflow, wenn Sie Entwurfsumgebungen für die benutzerdefinierten WPF- und Silverlight-Steuerelemente erstellen. In diesem Thema wird beschrieben, wie das benutzerdefinierte Steuerelement und Entwurfszeitassemblys bereitgestellt werden.

Tipp

Beispiele, die die Implementierung von benutzerdefinierten Entwurfszeitumgebungen veranschaulichen, finden Sie in den Beispielen für WPF- und Silverlight-Designer-Erweiterbarkeit.

Erstellen und Bereitstellen von Entwurfszeitassemblys

So erstellen Sie Entwurfszeitassemblys und stellen sie bereit

  1. Implementieren Sie das WPF- oder Silverlight-Steuerelement.

  2. Legen Sie die Versionen des WPF-Designer-Frameworks für die Entwurfszeitimplementierung fest, und bestimmen Sie, welche Designertools die Entwurfszeitassemblys laden. Sie können z. B. die Version 4.0 des WPF-Designer-Frameworks festlegen und Entwurfsumgebungen erstellen, die für Visual Studio 2010 oder höher und Expression Blend 3 oder höher gelten.

  3. Erstellen Sie entsprechende Projekte für jede der Entwurfszeitassemblys. Nennen Sie die Projekte nach der in Bereitstellen eines benutzerdefinierten Steuerelements und von Entwurfszeitassemblys beschriebenen Konvention. Das Szenario in Schritt 2 könnte z. B. Projekte mit den folgenden Namen aufweisen.

    Namenskonvention

    Beschreibung

    < Steuerelementbibliothek >.Design .4.0 .dll

    Allgemeine Entwurfszeitimplementierung.

    <Steuerelementbibliothek>.Expression.Design.4.0.dll

    Überschreibt die allgemeine Entwurfszeitimplementierung mit speziellen Metadaten von Expression Blend.

    <Steuerelementbibliothek>.VisualStudio.Design.4.0.dll

    Überschreibt die allgemeine Entwurfszeitimplementierung mit speziellen Metadaten von Visual Studio.

  4. Leiten Sie die Buildausgabe jedes Entwurfszeitprojekts an einen gemeinsamen Ordner weiter. Dieser Ordner kann der gleiche Ordner sein, der die benutzerdefinierten Steuerelemente enthält. Es kann aber auch ein Unterordner mit dem Namen Entwurf sein.

  5. Fügen Sie jedem Entwurfszeitprojekt eine Klasse hinzu, die die IProvideAttributeTable-Schnittstelle implementiert. Diese Klasse wird häufig Metadata oder RegisterMetadata genannt. In dieser Klasse geben Sie die Funktionen an, die in der benutzerdefinierten Entwurfszeitassembly implementiert wurden. Sie geben auch an, welche Klassen im Dialogfeld Elemente auswählen der Toolbox angezeigt werden.

  6. Wenden Sie das ProvideMetadataAttribute auf jede Entwurfszeitassembly an, und geben Sie damit die entsprechende RegisterMetadata-Klasse an.

  7. Registrieren Sie das Steuerelement und die zugehörigen Entwurfszeitassemblys mit der AssemblyFoldersEx-Registrierungsprozedur. AssemblyFoldersEx ist ein Registrierungsspeicherort, an dem Drittanbieter Pfade für jede Version des Frameworks, das sie unterstützen, speichern. Bei der Entwurfszeitauflösung kann an diesem Registrierungsspeicherort nach Referenzassemblys gesucht werden. Das Registrierungsskript kann die Steuerelemente angeben, die in der Toolbox angezeigt werden sollen. Weitere Informationen finden Sie unter Bereitstellen eines benutzerdefinierten Steuerelements und von Entwurfszeitassemblys.

Siehe auch

Referenz

AttributeTable

ProvideMetadataAttribute

Weitere Ressourcen

Bereitstellen eines benutzerdefinierten Steuerelements und von Entwurfszeitassemblys

Visual Studio Extension Deployment

Bereitstellen von Entwurfszeitmetadaten

WPF-Designer-Erweiterbarkeit

Grundlagen zu Erweiterungen

Beispiele für WPF- und Silverlight-Designer-Erweiterbarkeit