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?
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.