*snip*

xmlns:aero="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"

Visual Styles in WPF are re-implemented as a library of vector graphics within WPF assemblies. They don't actually use the raster Visual Styles API present in Windows. If you run a WPF application on Windows XP and use the Microsoft Zune or Royale Noir visual style you'll get ugly, ugly widgets and controls (unless you provide your own appearance graphics).

@W3bbo:I am making quite a decent living as a WPF expert. Yes there are times when I create hybrid applications and use winforms controls, but the flexibility WPF gives in creating components far outweighs any other considerations.

For your basic applications you can use either. I am currently working on some drawing tools to annotate images and WPF is far much nicer to do this sort of thing than Winforms. The code is nicer to wrtite and maintain and the result is superior. And you can use these tools on any surface (lets say a listbox for example). Using the winforms controls on the datagrid is a non-starter.

From the developer's perspective I think WPF is a good system, my criticisms are pointed at details of implementation. In the same way I'm practically in love with .NET's BCL, I still dislike parts of the runtime's implementation (why doesn't it more aggressivly AOT compile assemblies and cache them for future application starts?).