MVVM: Tutorial from start to finish?
C#.NetWpfMvvmC# Problem Overview
I'm a C#/Windows Forms programmer with more than 5 years experience. I've been investigating WPF using the MVVM (Model-View-ViewModel) design pattern. I have searched the Internet for tutorials. I have even watched the entirety of Jason Dolinger's awesome video. Although I have found many, I have not found one that takes me from start to finish. What I really want is a tutorial that doesn't assume any previous WPF knowledge.
What are your favorite WPF-MVVM tutorials that helped you to learn?
C# Solutions
Solution 1 - C#
Your question really seems to be asking 2 questions:
- Where are some good tutorials on WPF, assuming I have no previous WPF experience?
- Where are some good tutorials on learning MVVM?
Some of these resources may be duplicated in previous answers...
Tutorials on WPF
-
A Guided Tour of WPF by Josh Smith > I wrote a series of introductory WPF articles on The Code Project. The goal of those articles is to bring someone with no WPF experience up-to-speed enough so that (s)he can fully understand how the series’ demo application works.
-
Bea Stollnitz (link is to her archives) has a number of great articles on WPF.
-
WPF: A Beginner's Guide - Part 1 of n by Sacha Barber
MVVM Tutorials
-
WPF Apps With The Model-View-ViewModel Design Pattern by Josh Smith (duplicate link already provided by Yacoder)
-
Jason Dolinger's presentation on the Model-View-ViewModel (link to video embedded in article)
-
Dan Crevier's DataModel-View-ViewModel pattern series (similar to MVVM)
Composite WPF (Prism) Resources
Though not exactly what you asked, it is the natural progression with WPF and MVVM.
Solution 2 - C#
I was in exactly the same situation recently, mate, and I can tell you what I did.
Josh Smith "WPF Apps With The Model-View-ViewModel Design Pattern" read again, again and again :-) download the code, examine, compile and keep it around
- Examine the framework, use it in your app.
- Look at the Demo application in that framework.
No real start-to-finish tutorials, sorry...
Solution 3 - C#
I really liked these articles:
He really dumbs down the concept in a humorous way. Worth reading.
Solution 4 - C#
Reed Copsey published a nice tutorial that writes a trivial RSS app in WinForms, then makes a straight port to WPF, and finally converts to MVVM. It makes a nice introduction to MVVM before you try and tackle a full description like Josh Smith's article. I'm glad that I read Reed's tutorial before Josh's article, because it gives me a little context to understand the details that Josh is digging into.
Solution 5 - C#
This one will do:
Solution 6 - C#
I read Josh Smith's article and found it very difficult. Once understood, I wrote a very simple one that should get you really started on it. Get it here.
Solution 7 - C#
There's a very good Techdays 2010 video introduction to the MVVM pattern, clearly explained:
Solution 8 - C#
This isn't a tutorial, but it's the diagram on this page that helped me get my head around mvvm.
Solution 9 - C#
A while ago I was in a similar situation (allthough I had a little WPF knowledge already), so I started a community wiki. There are a lot of great ressources there:
What applications could I study to understand (Data)Model-View-ViewModel?
Solution 10 - C#
Some blogs/websites to check out:
Currently, Josh Smith has a "From Russia With Love" article that can be of some use to you.
Solution 11 - C#
My blog has a complete series of tutorial starting from scratch for WPF MVVM and WPF Prism. Have a look here: http://blog.raffaeu.com/archive/2009/06/03/wpf-and-vmmv-tutorial-01-introduction.aspx
Solution 12 - C#
I found http://windowsclient.net/learn/videos_wpf.aspx as a good start
Solution 13 - C#
For something released a little more recently (last month), take a look at Rainer Stropek's video series MVVM in WPF and Silverlight
He flies right through it, but does an extremely good job of going from start to finish with an actual application.
Solution 14 - C#
Take a look at [Jason Dollinger's MVVM video at Lab49][1]. We have used this in the past to train our team on MVVM.
[1]: http://www.lab49.com/files/videos/Jason%20Dolinger%20MVVM.wmv "Jason Dollinger's MVVM video from Lab49"
Solution 15 - C#
Don't skip John Papa's presentation from PDC Conference 2010. See it here.
Solution 16 - C#
I have written an application using WPF, Prism and MVVM to simulate hiring a cab, you can read about it on my blog, download the source here and play with it.
Solution 17 - C#
If you are coming from winforms and you are looking for a tutorial. I recommend you the MVVM Trainning extension for visual studio: http://visualstudiogallery.msdn.microsoft.com/3ab5f02f-0c54-453c-b437-8e8d57eb9942 It´s a tutorial with code examples. The tutorial is divided in 3: Basic WPF app, the same app in MVVM and the same using Inversion of control. Quite useful in your case :)
I also like these ones http://msdn.microsoft.com/en-us/magazine/dd419663.aspx http://karlshifflett.wordpress.com/mvvm/
and this one is with Prism. http://www.developmentalmadness.com/archive/2009/10/03/mvvm-with-prism-101-ndash-part-1-the-bootstrapper.aspx It may be worth it to take a view to Prism if you are thinking to program WPF apps with MVVM
Solution 18 - C#
some nice video tutorials here http://live.visitmix.com/Archive
Solution 19 - C#
A very basic tutorial here
Solution 20 - C#
A good book on MVVM with WPF
Building Enterprise Applications with Windows® Presentation Foundation and the Model View ViewModel
Solution 21 - C#
You would love to read these :-
Solution 22 - C#
Here is a very good tutorial for MVVM beginners; http://geekswithblogs.net/mbcrump/archive/2010/06/27/getting-started-with-mvvm-general-infolinks.aspx [Getting started with MVVM (General Info+Links)]