2009-08-26 4 views
3

In einer MVVM-basierten Anwendung, welche Optionen habe ich, um ViewModel-Daten zur Entwurfszeit bereitzustellen, sodass unsere Designer tatsächlich etwas in Blend3 (und VS 2008) sehen können. Wie machst du das? Kann ich mc: ignorant dafür irgendwie nutzen?bietet Designtime ViewModel-Daten für Blend und VS

Antwort

4

Ja, Expression Blend kann Ihnen dabei helfen. Verwenden Sie die Registerkarte "Daten", um Beispieldaten zu erstellen, die die gleiche Form wie Ihre Produktionsdaten haben. Achten Sie beim Erstellen der Datenquelle darauf, die Option "Beispieldaten bei Ausführung der Anwendung aktivieren" zu deaktivieren.

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

Nachdem Sie Ihre Beispieldaten erstellt haben, legen Sie die Datacontext Ihrer Seite auf die Beispieldaten in der XAML. Dadurch können die Designer die Beispieldaten anzeigen, wenn sie die Seite in Blend öffnen.

Schreiben Sie im Code für den Loaded-Handler Code, um den DataContext auf das reale Modell zu setzen. Da dieser Code nur ausgeführt wird, wenn die App ausgeführt wird und Sie Ihren Beispieldaten mitgeteilt haben, dass sie während der Ausführung der App nicht verfügbar sind, bedeutet dies, dass die laufende App die echten Daten erhält.

3

Mit VS2010 können Sie Design-Time attributes verwenden (funktioniert für SL und WPF). Ich habe in der Regel ein Mock-Datenquelle ohnehin so ist es nur eine Frage der:

  • die Namespace-Deklaration Hinzufügen

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

  • den Mock Datenkontext zu Fenster/Steuer Ressourcen Hinzufügen

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

  • Rahmen Entwurfszeitdaten Kontext

    < Gitter d: Datacontext =" {Binding Source = {Static DesignViewModel}}“> ...

Funktioniert gut genug.

Verwandte Themen