Ich schreibe Code, der in WPF und Silverlight verwendet wird. In C# kann ich für bedingte Kompilierung verwenden, und es funktioniert.Unified XAML für WPF und Silverlight mit T4?
In XAML muss ich jedoch komplett andere XAML-Dateien verwenden, da einige Attribute einfach nicht kompatibel sind. XAML-Dateien sind zu 99% ähnlich und es ist mühsam, sie synchron zu halten.
Ich möchte sie in eine T4-Vorlage konvertieren, so kann ich Dinge wie:
<SomeControl <#=ClipsToBounds()#> />
Wo ClipsToBounds()
anderen Text für WPF und Silverlight produziert. Die Anforderungen sind:
- Intellisense während der Arbeit an den XAML
- Vorlagen bei der Erstellung generierten
- Das Projekt selbst auf Lager Version von Visual Studio enthalten und Arbeit werden muß: Installationen von verschiedenen SDKs und 3rd-Party-Editoren sind nicht akzeptabel
- Ergebnisse der Vorlage ausgeführt werden sollte nicht in der Quellcodeverwaltung sein. -
Ich fand, dass ich custom tool
auf einer XAML-Datei von MSBuild:Compile to TextTemplatingFileGenerator
ändern kann und ich nicht verlieren Intellisense. Die resultierenden Vorlagen werden jedoch zur Entwurfszeit generiert. Zu Buildzeit erzeugt zu haben, scheint ein großer Schmerz zu sein.
Hatte jemand erfolgreiche Erfahrung mit dieser Art von Setup?
Verwenden Sie keine portable Klassenbibliothek? –
Portable Klassenbibliotheken lösen das Problem des gemeinsamen Nicht-UI-Codes. Sie sollten für die ViewModel-Ebene geeignet sein, wenn MVVM verwendet wird, nicht die Ansicht. –