One thing i noticed about WPF is that it combines various concepts from other computer languages i know, while other concepts are (were) completely new to me.
Experience in which languages can help WPF-newbies to understand the different WPF concepts?
For example if you know XSL, then DataTemplates will look familiar and the seperation of styling/UI/logic won’t be new to people who did HTML/CSS/JavaScript before.
But what about things like Bindings, MarkupExtensions, Resources, RoutedEvents/Commands, Attached Properties, etc.
Is there a subset of languages that will help understand most WPF concepts? Which concepts are completely unique to WPF?
Update
So…besides HTML and XSL, there’s only Cocoa out there that has a WPF-like concept? I understand that things like RoutedEvents are very much related to the WPF visual/logical tree structure, so unlikely to see in platforms that dont have a similar structure, but a concept like Attached Properties seems useful in many non-UI scenarios.
Doing HTML/XHTML properly, or maybe general XML rendered with XSL/XSLT, is probably most similar.
It’s very important to understand that WPF is designed through-out to allow a very ‘declarative’ style of programming, where information is included in the XAML file that allows the runtime (or implicitly invoked libraries) to do the kind of ‘plumbing’ work that you would otherwise have to type out hundreds of lines of code to do. Some WPF concepts may at first seem a little ‘baroque’ (overly complicated), but in non-trivial applications I think they provide a great benefit.
I know that Mac OS X’s Cocoa framework has bindings as well. But overall it’s a very different system.
I agree that the Unleashed book is good. I’ve been reading it, and it has lucid and good explanations of the major topics.