学习 WPF 和 MVVM - 从头开始学习的最佳方法[已关闭]

问题描述 投票:0回答:8

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

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

另外,我刚刚开始在一家新公司工作,他们正在使用 MVVM 和 WinForms,以前有人遇到过这种情况吗?

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

wpf mvvm
8个回答
29
投票

这取决于您的经验。

我个人认为这是 MVVM 讨论中缺乏的领域,这也是我从 Windows Forms 开发人员角度撰写关于 MVVM 和 WPF 的系列文章的原因。

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

至于“Windows Forms 中的 MVVM”——很多人尝试这样做,但这并不是真正的 MVVM。为了实现“MVVM”,您需要访问比 Windows 窗体提供的更丰富的数据绑定形式。 “Windows 窗体中的 MVVM”实际上通常只是具有不同名称的模型-视图-呈现器(我猜是乘着 MVVM 潮流),但与 WPF 中的 MVVM 并不完全相同。


13
投票

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

Bill Steele 在 WPF 上制作了一个 16 部分的“Soup-to-Nuts”网络广播系列。 msevents 网站上的链接已损坏。这是一个 Google 搜索 来找到它们。这将有助于 WPF 的学习曲线。他在示例中没有使用任何 MV* 模式。

编辑:MSEvents链接现在可以使用,我将Google搜索作为备份。

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

羊群守则: Jeremy Miller、Ward Bell、Rob Eisenberg 和 Glenn Block 的演示模式

MIX10:

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


6
投票

我多次被告知,我的 MIX10 课程对初学者来说已经足够好地解释了 MVVM 模式(尽管有些部分实际上相当高级,所以如果您需要重新观看某些部分,请不要担心)。

会议地点为http://live.visitmix.com/MIX10/Sessions/EX14

抱歉自我推销。

干杯, 洛朗


4
投票

涉及 MVVM 的书籍并不多,但有一本:Advanced MVVM

但是有很多在线资源,这个是必读的:使用模型-视图-视图模型设计模式的 WPF 应用程序

之后我建议研究像

这样的框架

2
投票

要完成大任务(例如学习 WPF + MVVM),最好将任务分解为较小的步骤。

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

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

在此网络中,您可以找到专注于实践但提供理论的教程:

http://www.learnmvvm.com


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


0
投票

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


0
投票

我刚刚读完这本书。这并不是真正要学习 WPF,但是一旦您已经了解了一些 WPF 并且想要加深对 MVVM 的理解,它应该会很有用。

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

© www.soinside.com 2019 - 2024. All rights reserved.