Kassem wroteOk I've been watching the WPF videos over the past few days (finally!) and I'm impressed with the power of WPF but disappointed with how it's a complete mess - at least from what I've seen so far. XAML is nice but it gets tightened up to the data once data binding kicks in. I prefer to provide the data needed to render the view in code rather than in the mark-up itself.
WPF is not limiting, you get to choose what to do and how to do it. It's far cleaner than other alternatives and that includes web development paradigms
Moreover, the way Resources are used worries me. You can declare a Resource at different levels - in the parent, grandparent or even in external files (which is a nice feature in itself though). This might end up being a pain in the ass when it comes to maintenance.
You will rarely declare resources on a control level, you almost always declare them in a dictionary (external for reuse, internal if not going to be reused) and just access them through keys
Now I'm hoping MVVM libraries (such as Prism) would deal with the issues mentioned above (and I assume they do). So if you guys got some recommended material to get me started with Prism I'd be very thankful.
I think it's better if you deal with WPF without external libs and eventually build your own minified mvvm framework.
Either way, i'll be glad to provide you with some tips and at night i'll toss in a small sample.