在基於MVVM的應用程序中,我有什麼選擇可以在設計時提供ViewModel數據,所以我們的設計人員可以在Blend3(和VS 2008)中真正看到一些東西。你好嗎?我可以利用MC:可以忽略這個嗎?爲Blend和VS提供designtime ViewModel數據
3
A
回答
4
是的,Expression Blend可以幫助你做到這一點。使用「數據」選項卡創建與生產數據具有相同形狀的樣本數據。在創建數據源時,請確保取消選中「在應用程序運行時啓用示例數據」。
Sample Data http://www.smips.com/brad/stackoverflow/design-model1.jpg
您已經創建了樣本數據後,設置頁面的DataContext的在XAML樣本數據。這將讓設計師在Blend中打開頁面時看到示例數據。
<navigation:Page DataContext={StaticResource MyFakeDesignData}
在加載處理程序的代碼中,編寫代碼以將DataContext設置爲真實模型。由於此代碼只會在應用程序運行時運行,並且您已告知示例數據在應用程序運行時不可用,這意味着正在運行的應用程序將獲得真實數據。
private void Home_Loaded(object sender, RoutedEventArgs e)
{
DataContext = new MyRealViewModel();
}
3
使用VS2010,您可以使用Design-Time attributes(適用於SL和WPF)。我通常有一個模擬數據源反正所以它只是一個的事情:
添加空間聲明
的xmlns:d =「http://schemas.microsoft.com/expression/blend/ 2008"
添加到窗口/控制資源
<UserControl.Resources> <的ViewModels模擬數據上下文:MockXViewModel X:鍵=「DesignViewModel 「/ > </UserControl.Resources>
設定的設計時數據上下文
<網格d:的DataContext =」{綁定源= {StaticResource的DesignViewModel}}」 > ...
工作得不錯。
相關問題
- 1. DesignTime數據在綁定到CollectionViewSource時不顯示在Blend中
- 2. Blend 3中的PropertyValueEditor和DependencyObject - Silverlight DesignTime支持
- 3. Expression Blend 4和VS 2008 SP1
- 4. Silverlight vs expression blend
- 5. 如何將數據綁定到Expression Blend中的ViewModel?
- 6. Expression Blend vs Visual Studio
- 7. 自發行OpenID提供VS OpenID提供
- 8. 內容提供者vs ORM
- 9. Oracle提供VS 2012 RC
- 10. .NET 4和vs 2010 RC的Expression Blend Preview?
- 11. 在Template10中使用DesignTime數據
- 12. mvvm viewmodel vs asp.net mvc viewmodel
- 13. ViewModel保存數據
- 14. 在Visual Studio 2015中爲Firebird提供的ADO.NET數據提供者
- 15. 爲新數據庫提供程序創建EF提供程序
- 16. 可選參數:「空」vs「未提供」
- 17. 參數設置數據和用TestNG和數據提供者
- 18. 關於ViewModel管理的問題(DesignTime與運行時間)
- 19. Zf2 ViewModel vs JsonModel
- 20. EXTJS 4 - 爲XTemplate提供數據
- 21. 爲VBA提供數據標籤excel
- 22. 使用NDBUnit爲數據提供GUID
- 23. DataContext與MSAccess作爲數據提供者
- 24. 爲Robolectric提供SharedPreferences的測試數據
- 25. emberjs爲多個組件提供數據
- 26. 提供JSON作爲富數據:extendedDataTable
- 27. 如何爲Winamp插件提供數據?
- 28. 在數據提供者中傳遞數據提供者
- 29. 數據提供者和關係(Yii)
- 30. datagrid和靜態數據提供