XAML-Kolumne: WPF, Silverlight, Windows Phone 8 und Windows-Store-App

XAML-Tipp: XAML Designer ohne Code laden
Keine Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „WPF-Performancetipp: die SpeedObservableCollection“, „WPF-Performancetipp: ObservableCollection performanter threadübergreifend synchronisieren“ und „XAML: XAML Designer ohne Code laden“.

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).

Abb. 1: Ab Visual Studio 2015 kann das Laden von Code im XAML Designer deaktiviert werden

Abb. 1: Ab Visual Studio 2015 kann das Laden von Code im XAML Designer deaktiviert werden

 

 

Aufmacherbild: Weekend Loading Content with Young Person Wearing Red von Shutterstock/Urheberrecht: igor.stevanovic

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -