Einer der häufigsten Fehler bei XAML-Projekten ist, dass Logik im Konstruktor vom ViewModel ausgeführt wird. Der XAML Designer wartet aber nicht die komplette Verarbeitung dieser Logik ab und zeigt unschöne Fehlermeldungen.
XAML Designer ohne Code laden
Eine Standardlösung dazu wäre eine zusätzliche Abfrage im Konstruktor mittels: if (DesignerProperties.GetIsInDesignMode(this)) (WPF) oder if(Windows.ApplicationModel.DesignMode.DesignModeEnabled) (Universal-Apps). Womit die Logik nur zur Laufzeit ausgeführt wird.
Ab Visual Studio 2015 gibt es eine Option, durch die sich das Laden des Codes komplett unterbinden lässt. Dazu im Menü unter Tools | Options | XAML Designer die Checkbox Run project code in the XAML Designer deselektieren. Ich empfehle, trotz dieser neuen Option, den ersten Weg sauber zu implementieren und DesignTime-Daten zu hinterlegen. Das hat sich gerade bei großen Enterprise-Anwendungen positiv bemerkbar gemacht (Abb. 1).
Aufmacherbild: Weekend Loading Content with Young Person Wearing Red von Shutterstock/Urheberrecht: igor.stevanovic