Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Learning WPF and MVVM - best approach for learning from scratch [closed]

Tags:

mvvm

wpf

I've got about three years c# experience. I'd like to learn some WPF and the MVVM pattern. There are a lot of links to articles on this site but I'm getting a little overwhelmed. Would a sensible approach for a begginer to be forget mvvm for a while and just quickly learn a bit a of WPF, then come back to MVVM?

I had a leaf through Application=Code+Markup - Charles Petzold in work today, it doesn't seem to mention MVVM (at least not in the index). I was pretty surprised by this as I thought MVVM was supposed to be the "lingua franca" of WPF?

Also I've just started working at a new company and they are using MVVM with WinForms, has anyone come across this before?

Can anyone recommend a book that will teach me both WPF and MVVM?

like image 854
bplus Avatar asked Mar 29 '10 21:03

bplus


People also ask

Is MVVM worth learning?

In short: MVVM is not pointless, it's great. NET 4.0 WPF's control library is trash. Here is the simple proof of concept ViewModel which you can't data bind in pure MVVM manner using WPF.

How long does it take to learn WPF?

You can become a WPF developer in 6 months and a good one in 1 year. But you can go a much shorter way - just learn a small part of WPF and you can create apps in WPF in a few weeks.

Should I use MVVM for WPF?

The Windows Presentation Framework (WPF) takes full advantage of the Model-View-ViewModel (MVVM) pattern. Though it is possible to create WPF applications without using the MVVM pattern, a little investment in learning can make building WPF applications much simpler.

Why is WPF so difficult?

The difficulty with learning WPF is not so much the API as the model. It's a very different mental model than you'd use with something like Windows Forms. Rather than writing methods that imperatively populate a UI element, you generally data bind to properties on an object.


1 Answers

It depends on your experience.

I personally felt that this was a lacking area in MVVM discussions, which was what led me to write my series on MVVM and WPF from a Windows Forms developer perspective.

I would not try to learn WPF without learning MVVM. You'll end up trying to "unlearn" many aspects, as WPF really doesn't make sense, completely, until you understand the separation of presentation and logic that's pervasive throughout the architecture. MVVM is really just extending this same separation into the application space.

As for "MVVM in Windows Forms" - a lot of people try to do this, but it's not really MVVM. In order to do "MVVM" you need access to a richer form of data binding than Windows Forms provides. "MVVM in Windows Forms" is really, typically, just Model-View-Presenter with a different name (riding the MVVM bandwagon, I'd guess), but not really the same as MVVM in WPF.

like image 175
Reed Copsey Avatar answered Sep 20 '22 17:09

Reed Copsey