我在過去的兩年中一直在使用MVVM,自那時起它已經發展得更好。當我閱讀了數百篇MVVM文章和stackoverflow問題時,我注意到似乎有越來越多的文章首先將視圖/視圖模型關係和創建描述爲ViewModel或View。這些文章通常使用IoC或DI。我會包含一些鏈接,但作爲新的SO用戶,我只限於1.WPF - MVVM - 各種視圖創建技術的優缺點是什麼?
我最喜歡的技術是使用數據模板創建視圖,並將視圖模型中的視圖而不是視圖。我很少看到使用這種模式的文章。
<DataTemplate DataType="{x:Type ViewModels:DummyViewModel}">
<Views:DummyUserControl DataContext="{Binding}"/>
</DataTemplate>
可測性和去耦似乎是這些「非DataTemplate的」 V-VM創建/關係設計和文章的主要焦點,他們常常與MEF或PRISM做。最終我想知道以下內容:
- DataTemplate視圖創建技術是否仍在使用或推薦?
- 視圖優先設計有什麼優點/缺點?
- 有什麼利弊/視圖模型第一次設計的缺點(與視圖注入)
我知道這些都是值得寬鬆的答案鬆動的問題。
如果他們不是MEF/PRISM相關的,那麼可以聯繫任何涵蓋這些主題的文章。越多越好。 (谷歌出現不少)
那麼這釘子我自己的經驗和意見100%。最近有很多關於使用容器來生成視圖和視圖模型的文章,我擔心我錯過了這條船。 您是否使用界面將視圖注入到viewmodel中?就我個人而言,我不希望我的視點模型完全參照視圖。 – user259509 2010-01-26 20:56:23
我沒有提到MEF - 但我實際上也使用它。這對於處理上述邊界案例(即:服務)以及實際執行數據模板非常有用。您可以使用MEF從您的View中設置您的DataTemplates,而不必「污染」您的app.xaml,例如... – 2010-01-26 20:57:33
您的博客(http://reedcopsey.com/)很棒,btw – user259509 2010-01-26 21:02:01