Die Crème de la Crème des Monats

Silverlight Datenfehler unter Expression Blend und Silverlight Unit Tests unter CI-Systemen
Kommentare

Heute stehen folgende Silverlight-Themen auf der Menükarte „Datenfehler unter Expression Blend vermeiden“ und „Silverlight Unit Tests unter Continuous Integration Systeme“. Viel Spaß und einen guten Appetit.

Menü 1 für Einsteiger: Datenfehler unter Expression Blend vermeiden

Expression Blend ist ein geniales Werkzeug, um schnell anspruchsvolle Oberflächen zu gestalten. Nicht nur für Designer, sondern auch für Entwickler ist es ein wertvolles Tool. Jedoch hat jede Medaille zwei Seiten. Die schlechte Seite bekommt man zu spüren, wenn unter Expression Blend auf einmal eine Exception anstelle der gewünschten Oberfläche dargestellt wird. In diesem Fall passiert Folgendes: Zum einen kann der XAML-Code nicht korrekt initialisiert werden, weil die XAML-Definition ein Leck hat, und zum anderen wird vom Designer eine Codelogik ausgeführt, die nichts mit dem Design zu tun hat.

Als Beispiel wird im Ressourcenbereich ein ViewModel instanziiert. Das ViewModel hat im Konstruktor einen direkten Aufruf zum Model um automatisiert die ersten Daten zu laden. Dies kann unter Umständen eine InvalidOperationException auslösen. Das Problem kann jedoch ganz einfach mit der statischen Klasse DesignerProperties behoben werden. Diese bietet das Property IsInDesignTool an, womit die Ausführung im Konstruktor zur Designzeit verhindert werden kann. In Listing 1 wird ein Code-Beispiel eines ViewModels demonstriert.

public ShowBoxViewModel()
{
    if(DesignerProperties.IsInDesignTool)
        return;

    _model = new ShowBoxModel(_configfile);
    _model.GetAllAffiliateProductsLoadet += GetAllAffiliateProductsLoadet;
    _model.GetAllAffiliateProducts();
}  
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -