243
votes

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?

0

22 Answers 22

160
votes

Your question really seems to be asking 2 questions:

  1. Where are some good tutorials on WPF, assuming I have no previous WPF experience?
  2. Where are some good tutorials on learning MVVM?

Some of these resources may be duplicated in previous answers...

Tutorials on WPF

MVVM Tutorials

Composite WPF (Prism) Resources
Though not exactly what you asked, it is the natural progression with WPF and MVVM.

0
44
votes

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

MVVM foundation

  1. Examine the framework, use it in your app.
  2. Look at the Demo application in that framework.

No real start-to-finish tutorials, sorry...

3
  • +1, this is the article that got me started with MVVM, and it's really good Commented Sep 11, 2009 at 16:32
  • 3
    I found that article far too bloated and full of fluff to be a useful introduction. Luckily there's some better examples now such as waf.
    – Damien
    Commented May 22, 2010 at 3:29
  • +1 agreed; the mentioned MSDN article is definitely the right way to get started with WPF w/ MVVM Commented Apr 26, 2011 at 16:48
23
votes

I really liked these articles:

  1. MVVM for Tarded Folks Like Me
  2. How Tards Like Me Make MVVM Apps

He really dumbs down the concept in a humorous way. Worth reading.

0
15
votes

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.

11
votes

This one will do:

RIATasks: A Simple Silverlight CRUD Example

0
10
votes

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.

2
8
votes

There's a very good Techdays 2010 video introduction to the MVVM pattern, clearly explained:

7
votes

This isn't a tutorial, but it's the diagram on this page that helped me get my head around mvvm.

7
votes

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?

6
votes

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

6
votes

Some blogs/websites to check out:

Currently, Josh Smith has a "From Russia With Love" article that can be of some use to you.

2
  • 1
    well, the "From Russia With Love" article is pretty good, but I think it's intended for people who already have some knowledge of MVVM... Commented Sep 11, 2009 at 16:33
  • +1 for the link to Dr. WPF. His articles, samples and snippets really helped me get up to speed on WPF.
    – dthrasher
    Commented May 6, 2010 at 20:15
5
votes

I found http://windowsclient.net/learn/videos_wpf.aspx as a good start

5
votes

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.

1
  • This is an absolutely fantastic set of videos. Good call. Commented Oct 24, 2010 at 22:09
5
votes

Take a look at Jason Dollinger's MVVM video at Lab49. We have used this in the past to train our team on MVVM.

4
votes

Don't skip John Papa's presentation from PDC Conference 2010. See it here.

4
votes

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.

0
4
votes

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

3
votes

some nice video tutorials here http://live.visitmix.com/Archive

http://ecn.channel9.msdn.com/o9/mix/10/wmv-hq/EX14.wmv

http://ecn.channel9.msdn.com/o9/mix/10/wmv-hq/EX15.wmv

3
votes

A very basic tutorial here

http://www.c-sharpcorner.com/UploadFile/yougerthen/474/

3
votes

A good book on MVVM with WPF

Building Enterprise Applications with Windows® Presentation Foundation and the Model View ViewModel

3
votes

You would love to read these :-

http://www.wintellect.com/CS/blogs/jlikness/archive/2010/04/14/model-view-viewmodel-mvvm-explained.aspx

2
votes

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)]

Not the answer you're looking for? Browse other questions tagged or ask your own question.