I’ve been working on WPF for a while, and I am quite impressed with some of the changes Microsoft has introduced. First: the event handling issues has been a real trouble for custom controls builders, and at some point you inevitably find yourself in need of building custom controls. Dependency properties, just like routed events, makes it very easy to create and consume composite controls, with data and events for the whole tree connected easily.
The real test for WPF will be the new databinding features I guess. It comes with very powerfull data binding features, and honestly, I’ve never been a fan of databinding. The reason is, even if seemed to provide productivity boost in the short run by eliminating plumbing code between UI and data, as things get more complicated, data binding mechanism itself becomes a maintanence item. The new databinding stack that comes with WPF seems to attack people like me. I’ll be testing the new features for a while, and try to see if I can really adopt databinding as a development practice for WPF. Needless to say: I’d be more than happy to succeed.