Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am a long time experienced Windows Forms developer, but now it's time to move to WPF because a new WPF project is comming soon to me and I have only a short lead time to prepare myself to learn WPF.

What is the best way for a experienced Winforms devleoper?

Can you give me some hints and recommendations to learn WPF in a very short time!

Are there simple sample WPF solutions and short (video) tutorials? Which books do you recommend? Is www.windowsclient.net a good starting point? Are there alternatives to the official Microsoft site?

share|improve this question

closed as primarily opinion-based by gbjbaanb, GlenH7, Dan Pichelman, BЈовић, MichaelT Jul 5 '13 at 12:31

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

    
While most of the posts here mention MVVM, I would suggest that you understand the XAML and binding basics first before you get into fancy frameworks. –  Emmad Kareem Mar 23 '12 at 23:36
2  
I actually just wrote a blog post on the change in mindset needed when switching from WinForms to WPF. Its very basic and won't contain everything you need to know, but I think it outlines the to change in thought process quite well, and once you understand that, WPF becomes much easier to learn and understand. –  Rachel Oct 16 '12 at 16:03

5 Answers 5

up vote 15 down vote accepted

This is my recommendation.

  • Use MSDN
  • I started with this site: wpftutorial
  • Learn MVVM pattern. This is a good article.

There are a few MVVM frameworks. This question may help you to choose one.

share|improve this answer
    
Multiple options - great answer! –  jmo21 Jan 25 '11 at 16:19

For an introduction to all the controls etc. I found it usefull to look at the samples in ms sdk - approximately here:

C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples

The SamplesGallery inside WPFSamples.zip has a nice overview of many of the wpf controls, binding, animation etc.

One of the books I found usefull were:

http://www.amazon.com/Windows-Presentation-Foundation-Unleashed-WPF/dp/0672328917

It has a lot of the good details you ask for when you already know winforms.

share|improve this answer

I'm working my way through WPF in Action. It's a little dated by now, but it provides a good introduction to things. I am planning to follow up with WPF 4 Unleashed to catch up on the differences between 3.5 and 4.

I tried starting with the Unleashed book first, but it was moving a bit too slowly for my liking.

share|improve this answer

I've just been through this, so it's fresh in my mind.

Core are: Dependency property system, Routed Event system, Commands, Binding, INotifyPropertyChanged, Styles, Control templates, Data templates, Hierarchical templates, Triggers, Resources, ObservableCollection

Pattern wise: MVVM, Unit of Work, Repository and DI/IOC. MVVM is the main one, the others just appear frequently. There are a lot more frameworks around now than when I started in WinForms. Microsoft's Patterns and Practices site is worth looking at, Prism is pretty good.

Pro WPF in C# 2010 by Apress is my favourite book on the subject, others good ones include Illustrated WPF, WPF 4 unleashed and Sams teach yourself WPF in 24 hours. The last one is easy to get through in an afternoon and will cover the above in enough detail to get you started.

I created a diagram a while ago showing how most of the core WPF objects fit into a hierarchy. It's fairly interesting, I'll try and publish it somewhere and add a link here later.

Try and ensure the project you work on is using WPF 4. Visual Studio 2010 is much nicer, and WPF 4 includes a lot of substantial fixes that make it more reliable, faster and generally better.

Edit: I've just added the class hierarchy diagram I mentioned. It's good for an overview I think. Take a look and let me know if there's anything that looks wrong :)

WPF Class hierarchy

share|improve this answer
1  
+1, very good diagram, nice of you to share. –  Emmad Kareem Mar 23 '12 at 23:33

I've found WPF Programmer's Reference by Rod Stephens really good. It's not a reference manual, but it is written by someone who can explain things. It won't last you your entire WPF career, but it will shorten the initial learning curve.

share|improve this answer

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