10.15.2009

Kein Designer in Expression Blend 3. No designer in Expression Blend 3.

Erstellt man mit Visual Studio ein Projekt vom Typ “Class Library”, fügt diesem dann eine XAML-Datei in Form von einem UserControl, einem Window oder einer Page hinzu, zeigt Expression Blend ab der Version 3.0 keinen Designer-Workspace mehr für diesen Projekttyp an. Das ist natürlich eine blöde Situation. Besonders dann, wenn man auf das MVVM-Pattern setzt und eben nicht nur in EXE-Assemblies WPF-Oberflächen hat.

Step01

Step02


(In Visual Studio wird der Designer Cider für WPF-Window-Elemente auch in einem Class Library Projekt angezeigt)

Step03
(In Expression Blend fehlt der Designer-Workspace)

Da ich mich durch mein Buchprojekt vom letzten Jahr intensiv mit dem Aufbau von Projekten in Visual Studio und dem Aufbau von Projektdateien beschäftigt hatte, dämmerte mir ziemlich schnell woran das Dilemma liegen könnte. Expression Blend scheint seit der Version 3 die Anzeige des Designer Workspace nicht mehr nur über die Art der geöffneten Datei zu bestimmen. Schon mit dem Laden eines Projekts, scheint Expression Blend 3 festzulegen, ob für die Dateien in dem Projekt ein Designer angezeigt werden kann oder nicht. Neben den Informationen zu den Referenzierten Assemblies, werden in den Projektdateien auch die Informationen zu dem entsprechenden Projekttypt hinterlegt. Erstellt man aber ein Class Library Projekt, kann mit dem erstellen dieses Projekt Visual Studio noch nicht wissen das man später eventuell WPF-Dateien hinzufügen möchte. Darum fehlen in der Projektdatei dieses Projekttyps die Eintragungen für die verwendete Sprache und für ein WPF-Projekt. Dies lässt sich aber sehr einfach nachholen. Dazu öffnet man das Projekt mit Visual Studio und ruft aus dem Kontextmenu des Projektdatei im Solution Explorer den Befehl “Unload Project” auf. Danach wird die Projektdatei ausgegraut im Solution Explorer von Visual Studio angezeigt.

Step04

Ist das Projekt entladen, kann der Befehl “Edit…” über das Kontextmenu des Projekts im Solution Explorer aufgerufen werden. In der geöffneten Projektdatei werden nun die entsprechenden Einträge für ein WPF Projekt, das mit der Programmiersprache C# erstellt wird, eingetragen. Das fügt man im Tag <PropertyGroup> das Sub-Tag <ProjectTypeGuids> mit den folgenden beiden GUIDS ein:

- {60DC8134-EBA5-43B8-BCC9-BB4BC16C2548} –> steht für ein WPF-Projekt

- {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} –> steht für Windows C#

Der fertige Eintrag schaut dann so aus:

<ProjectTypeGuids>{60DC8134-EBA5-43B8-BCC9-BB4BC16C2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

Step05

Jetzt speichert man die Änderungen in der Projektdatei ab und öffnet das Projekt einfach wieder mit Expression Blend oder Visual Studio. In Expression Blend 3 wird nun auch wieder für eine WPF-Datei des Designer-Workspace angezeigt.

Step06

HTH

TOM_MUE

Labels: , ,