Archivieren

Posts Tagged 'Design'

Registrieren Silverlight Controls mit Visual Studio und Blend

30. April 2009 8 Kommentare

Änderungshistorie:

Ich werde den Inhalt auf dem neuesten Version von Visual Studio, Blend-und Silverlight Datum.

Einführung

Dies ist Teil der Serie über Design-Zeit die Umsetzung Änderungen in Silverlight Toolkit März 2009 Veröffentlichung . Dieser Beitrag veranschaulicht die Integration von Silverlight Toolkit mit Visual Studio und Blend 3 nach dem Ausführen Silverlight 3 Toolkit März 2009 Installer, und erklärt, wie es gemacht wird, so können Sie Ihre Silverlight-Steuerelemente mit Visual Studio und Blend zu registrieren.

Blend-Integration

Nach der Installation von Silverlight 3 Beta1-Tools , Blend 3 Preview und Silverlight 3 Toolkit März 2009 (siehe Beitrag Silverlight Toolkit Design Time Features: März 2009 Release Update , Silverlight 3-Entwicklung mit Visual Studio 2008 und Blend 3 für weitere Informationen), erstellen Sie eine Silverlight 3 Anwendung von Blend 3, können wir sehen, dass Silverlight Toolkit steuert automatisch zeigen in Asset-Bibliothek:

Toolkit Controls in Asset Library, Controls Tab

Toolkit Controls in Asset Library, Custom Controls Tab

Der Benutzer kann per Drag & Drop-Toolkit-Steuerelemente von Asset-Bibliothek zu entwerfen oder XAML-Ansicht, und Blend wird automatisch hinzugefügt Assemblyverweis, xmlns Präfix und XAML-Code, sehr bequem:

Drag and Drop Chart control from Asset Library

Visual Studio Integration

Öffnen Sie das Projekt in Visual Studio, können wir sehen, dass Toolkit-Steuerelemente auftauchen automatisch in Visual Studio Toolbox, und der Benutzer kann per Drag & Drop-Steuerelemente aus der Toolbox auf Design oder XAML-Ansicht als auch:

Toolkit Controls in Visual Studio Toolbox

Neben Toolbox Toolkit Baugruppen zeigen sich auch in Dialogfeld Verweis hinzufügen:

Add Reference Dialog

und Toolboxelemente auswählen Dialog:

image

Implementierung

Die Integration mit Visual Studio und Blend ist via Registry gemacht. Wenn Sie "Silverlight 3 Toolkit März 2009.msi" in offenen Orca , können Sie die Registrierung Magie:

Silverlight 3 Toolkit March 2009.msi in Orca

Registrieren Sie sich bei Visual Studio

AssemblyFoldersEx

Registrierung mit Visual Studio wird meist über getan [HKLM | HKCU] \ Software \ Microsoft \ Microsoft SDKs \ Silverlight \ v3.0 \ AssemblyFoldersEx. Die Referenzen in Visual Studio Seite hat eine sehr gute Erklärung AssemblyFoldersEx und Referenz-Auflösung. Es ist ein bisschen veraltet, und ist für. Net statt Silverlight. Aber es ist meistens das Richtige für Silverlight zu und zeigt die Wurzel der neuen Toolbox Registrierung Mechanismus mit Visual Studio 2010. Wir haben hart gearbeitet, um die Registrierung Mechanismus zu rationalisieren, Konsolidierung und Vereinfachung es über Tools wie msbuild, Visual Studio und Blend.

Nehmen Sie Silverlight 3 Toolkit Oktober 2009 Veröffentlichung als Beispiel:

c: \> reg query "HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SDKs \ Silverlight \ v3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910" / s

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SDKs \ Silverlight \ v3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910
(Default) REG_SZ C: \ Program Files \ Microsoft SDKs \ Silverlight \ v3.0 \ Toolkit \ Oct09 \ Bin \

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SDKs \ Silverlight \ v3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910 \ Toolbox

  1. AssemblyFolderBase zeigt die Target Framework-Plattform. Oberhalb Registry-Pfad "\ Software \ Microsoft \ Microsoft SDKs \ Silverlight" zeigt Silverlight SDK. Andere mögliche Werte von AssemblyFolderBase:
    • "\ Software \ Microsoft \ Microsoft SDKs \ Windows"
    • "\ Software \ Microsoft \. NETFramework"
    • "\ Software \ Microsoft \. NETCompactFramework"
  2. FrameworkVersion gibt die Version des Ziel-Rahmens. "V3.0" in obigem Beispiel bedeutet dies für Silverlight 3. Für Silverlight 4, verwenden Sie "v4.0".
  3. AssemblyFoldersSuffix beschreibt die Teilziel. "AssemblyFoldersEx" in obigem Beispiel erzählt Build-System, wie man Assemblyverweise zu lösen, wenn Pfad der referenzierten Assembly nicht gegeben ist. Weitere typische Werte von AssemblyFoldersSuffix:
    • "Install Path": Wo Silverlight SDK installiert ist.
    • "ReferenceAssemblies": Wo Silverlight SDK-Referenz-Baugruppen installiert sind.
  4. PackageName zeigt den Namen des Pakets, registriert, und der Standardwert gibt an, wo es installiert ist. In obigem Beispiel zeigt "SilverlightToolkit0910" das ist Silverlight Toolkit Oktober 2009 Release und den Standardwert "C: \ Program Files \ Microsoft SDKs \ Silverlight \ v3.0 \ Toolkit \ Oct09 \ Bin \" zeigt an, wo es installiert ist. Mit dieser Registrierung wird Toolkit Baugruppen zeigen sich in Dialogfeld Verweis hinzufügen und Toolboxelemente auswählen Dialog, und sie können Verweise von anderen Silverlight-Projekte werden ohne Hinweis Pfad.
  5. Toolbox: die Existenz der Toolbox sub Taste weist Visual Studio 2010 an alle Versammlungen unter dem Installationspfad von diesem Paket zu scannen, und fügen Sie alle Kontrollen festgestellt, dass Visual Studio Toolbox, mit Ausnahme der mit ToolboxBrowsableAttribute (false) angegeben.
Toolbox-Installer (veraltet)

Jim Nakashima darüber gebloggt Toolbox-Installer für WPF-Steuerelemente in seinem Beitrag Hast du die Toolbox-Installer gesehen? im Jahr 2007. Toolbox-Installer-Paket ist jetzt Teil von Visual Studio 2008, aber es funktioniert nicht für Silverlight Arbeit wegen eines Fehlers, der später in Visual Studio 2010 behoben ist. Angesichts der neuen AssemblyFoldersEx \ Toolbox Registrierung Mechanismus, gibt es keinen Grund zur TCI mit Visual Studio 2010 verwenden und später.

Registrieren Sie sich bei Mischung

Registrieren mit Blend ist über HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Expression \ Mischung \ v3.0 \ Toolbox \ Silverlight \ v3.0:

c: \> reg query "HKLM \ Software \ Microsoft \ Ausdruck \ Mischung \ 3.0 \ toolbox \ Silverlight \ v3.0 \ SilverlightToolkit0910" / s


(Default) REG_SZ C: \ Program Files \ Microsoft SDKs \ Silverlight \ v3.0 \ Toolkit \ Oct09 \ Bin \

Unni Ravindranathan 's blog post Blend 3 Erweiterbarkeit hat mehr Informationen über diesen Mechanismus. Sie können diese Art von Mapping-Registrierung Mechanismus, um über Visual Studio Registrierung Mechanismus:

  • AssemblyFolderBase ist "\ Software \ Microsoft \ Expression \ Mischung \ v3.0 \ Toolbox \ Silverlight"
  • FrameworkVersion ist "3,0"
  • PackageName ist "SilverlightToolkit0910", und der Standardwert "C: \ Program Files \ Microsoft SDKs \ Silverlight \ v3.0 \ Toolkit \ Oct09 \ Bin \" zeigt an, wo es installiert ist.

Eine Einschränkung: wenn die eingetragenen Baugruppen auf andere Baugruppen abhängen, müssen diese abhängigen Assemblys in das gleiche Verzeichnis wie registrierte Baugruppen werden, oder sich registriert unter AssemblyFoldersEx wie oben beschrieben.

Abschluss

Anmeldung mit Visual Studio und Blend macht Silverlight Toolkit steuert viel einfacher für Entwickler. Wir suchen ständig an der Verbesserung der Registrierung Mechanismus in der Hoffnung, damit es einfach und konsistent Designer (Visual Studio und Blend) und Technologien (WPF und Silverlight). Alle Rückmeldungen sind willkommen!