学习WPF和MVVM - 从头学习的最佳方法

时间:2010-03-29 21:43:03

标签: wpf mvvm

我有三年的c#经验。我想学习一些WPF和MVVM模式。 这个网站上的文章有很多链接,但我有点不知所措。 对于一个忘记者来说,一个合理的方法是忘记mvvm一段时间,然后快速学习一点WPF,然后再回到MVVM?

我今天在工作中有Application=Code+Markup - Charles Petzold,它似乎没有提到MVVM(至少不在索引中)。我对此感到非常惊讶,因为我认为MVVM应该是WPF的“通用语言”?

此外,我刚开始在一家新公司工作,他们正在使用MVM和WinForms,有没有人遇到过这个?

有人可以推荐一本能教我WPF和MVVM的书吗?

8 个答案:

答案 0 :(得分:27)

这取决于您的经验。

我个人认为这是MVVM讨论中缺乏的一个领域,这就是我在MVVM and WPF from a Windows Forms developer perspective.

编写系列文章的原因。

如果不学习MVVM,我不会尝试学习WPF。你最终会试图“忘掉”许多方面,因为WPF完全没有意义,直到你理解了整个架构中普遍存在的表示和逻辑的分离。 MVVM实际上只是将这种相同的分离扩展到应用程序空间。

对于“Windows窗体中的MVVM” - 很多人都试图这样做,但它并不是真正的MVVM。为了执行“MVVM”,您需要访问比Windows Forms提供的更丰富的数据绑定形式。 “Windows窗体中的MVVM”通常只是具有不同名称的Model-View-Presenter(我猜想是MVVM的潮流),但与WPF中的MVVM并不完全相同。

答案 1 :(得分:13)

Jason Dolinger有一个关于这个主题的精彩视频。它将引导您完成从使用代码隐藏文件到完整MVVM模式(包括依赖注入和测试)的过程。

Bill Steele在WPF上做了16部分“Soup-to-Nuts”网络直播系列节目。 msevents网站上的链接已损坏。这是Google search找到它们。这将有助于WPF学习曲线。并且他在他的例子中没有使用任何MV *模式。

编辑:MSEvents链接现在正在运行,我将离开Google search作为备份。

Josh Smith在MSDN上也有一篇优秀文章WPF Apps With The Model-View-ViewModel Design Pattern

羊群代码:     Jeremy Miller,Ward Bell,Rob Eisenberg和Glenn Block的演讲模式

MIX10:

当然,Reed Copsey的MVVM articles也值得一读。

答案 2 :(得分:6)

有几次我被告知我的MIX10会话正在为初学者解释MVVM模式(即使某些部分实际上非常先进,所以如果你需要重新观看某些部分,不要担心)。

会话位于http://live.visitmix.com/MIX10/Sessions/EX14

对不起自我推销。

干杯, 劳伦

答案 3 :(得分:4)

关于MVVM的书籍不多,但有一本:Advanced MVVM

但是有很多在线资源,这是必须阅读的:WPF Apps With The Model-View-ViewModel Design Pattern

之后,我建议调查像

这样的框架

答案 4 :(得分:1)

这是MVVM http://www.codeproject.com/Articles/819294/Learn-WPF-MVVM-step-by-step-Basics-to-Advance-Leve的教程,它从5个步骤的基本级到高级级。所以它就像从3层逐渐升级到完整的MVVM。

enter image description here

答案 5 :(得分:1)

要做大事(比如学习WPF + MVVM),最好以较小的步骤来完成任务。

我认为在这种情况下最好的方法是从学习Wpf的UI部分开始。学习XAML语法,布局系统,可用控件,忘记绑定以及如何将数据传递给控件。

一旦您了解了Wpf的UI基础知识,就可以转到MVVM了。了解绑定的工作原理和MVVM模式。

在这个网站上,你可以找到一个专注于实践的教程,但有可用的理论:

http://www.learnmvvm.com

答案 6 :(得分:0)

试试这个网站。它在一个地方收集各种资源。 http://learnandmasterwpf.blogspot.com/

答案 7 :(得分:0)

我刚看完这本书。它并不是真正学习WPF,但是一旦你已经了解了一些WPF并想要提高对MVVM的理解,它就应该是有用的。

http://www.amazon.co.uk/Pro-WPF-Silverlight-MVVM-Model-View-ViewModel/dp/1430231629