2009-08-26 14 views

Répondre

4

Oui, Expression Blend peut vous aider avec ceci. Utilisez l'onglet "Données" pour créer des exemples de données ayant la même forme que vos données de production. Lorsque vous créez la source de données, veillez à décocher "Activer les données d'exemple lorsque l'application est en cours d'exécution".

Sample Data http://www.smips.com/brad/stackoverflow/design-model1.jpg

Une fois que vous avez créé vos données d'échantillon, définissez la DataContext de votre page aux données d'échantillon dans le XAML. Cela permettra aux concepteurs de voir les exemples de données lorsqu'ils ouvrent la page dans Blend.

<navigation:Page DataContext={StaticResource MyFakeDesignData} 

Dans le code pour le gestionnaire Loaded, écrire du code pour définir le DataContext au modèle réel. Étant donné que ce code ne sera exécuté que lorsque l'application est en cours d'exécution et que vous avez indiqué que vos données ne seront pas disponibles lorsque l'application est en cours d'exécution, cela signifie que l'application en cours d'exécution obtiendra les données réelles.

private void Home_Loaded(object sender, RoutedEventArgs e) 
{ 
    DataContext = new MyRealViewModel(); 
} 
3

En utilisant VS2010, vous pouvez utiliser Design-Time attributes (fonctionne à la fois pour SL et WPF). J'ai souvent une maquette de données source de toute façon il est donc juste une question de:

  • Ajout de la déclaration d'espace de noms

    xmlns: d = "http://schemas.microsoft.com/expression/blend/ 2008"

  • Ajout du contexte de données fictives aux ressources fenêtre/contrôle

    <UserControl.Resources> < ViewModels: MockXViewModel x: Key = "DesignViewModel "/ > </UserControl.Resources>

  • données de conception en temps Réglage contexte

    < Grille d: DataContext =" {Binding Source = {}} StaticResource DesignViewModel » > ...

Fonctionne assez bien.