Top 10 WPF features

Hi,

I recently had the chance to spend quite some time to familiarize myself with WPF. But I do not have endless time (who has?). And I will probably not spend more than a few hours a month programming with WPF. I thought it might be a worthwhile exercise to define my top 10 list of cool and useful things in WPF.

My reasoning behind this is

  • WPF is a complex but promising piece of technology
  • How can you work with people that use it, discuss with them without spending weeks of in depth training.
  • What are the principals behind WPF and why do people think it is better than technologies before

There is no specific order in the list and I might change my mind what is a core feature in the future anyway. Would love to hear your feedback.

1)    XAML as the Markup: XAML goes in some ways beyond XML with rules simple to understand. Sure there are other ways, but I like it.
2)    Dependency properties as a basis for features such as data binding, styling, triggers, and animation. Who knows how long it takes till they are part of a framework.
3)    Styles & Triggers: CSS shows that this is very useful
4)    Layout system: practical to use out of the box and extensible
5)    Control templates: Separation of appearance and behavior
6)    Input + events : right level of abstraction
7)    Animation : declarative rocks :-)
8)    Databinding : easy and very flexible in combination with the templates and all.
9)    Documents, Text: haven’t seen a lot yet but it looks as powerful as TeX
10)  Integration of 2D and 3D : the fact that there is 3D is great in its own, but the integration will make it more pervasive