For example: http://referencesource.microsoft.com/#PresentationFramework/...
I would recommend something like Eto.Forms (https://github.com/picoe/Eto) which is an abstraction over native GUI toolkits (WPF, WinForms, GTK+, Cocoa)
Works really well and mature.
One of the projects I am currently working on, a greenfield application, requires WindowsForms for reasons I cannot expose here.
Any non-standard control requires GDI+ rendering, which is not very maintainable. WPF offers a far superior composition ability.
Often, boring UI:s are good. The tool should fade into the background and let the user focus on getting her work done.
While I love shiny things the real world accepts good enough solutions that are economic to develop.
Theoretically I just adore WPF:s scenegraph oriented paradigm since it feels the right way but... I've observed that for a large projects practically it needs a lot of work to get anything usefull done compared to forms. Perhaps the overall architecture is a bit big-org oriented where every tiny widget will have its own development team. Which is understandable but means for simple UI:s WPF might be a lot more expensive. I haven't done anything massive with it myself but have just observed a few projects from my work. I hope there are counterexamples.
In WF it's very hard & tedious.
1) It's going to be used in conjunction with other legacy applications that only run on Windows PCs anyway.
2) GUIs designed for both phones and PCs don't work well on either, it seems to me.
3) In fancy high-level frameworks you often eventually end up calling a bunch of Win32 functions, so I might as well learn it. :)
Would be great if MS open-sourced WinForms as well so we could fill in the gaps.
C++ tooling is behind its time (CMake, no dependency management) and JS approach seems kludgy right now.
Java was pretty close (JDK .. or NetBeans, support packaging to Windows or Mac AppStore) but the UI component for OSX is not pleasing and would be nice if it can produce something for Ubuntu/Redhat at least (don't care Arch or the rest at the moment).
Basically I want something better than what Oracle Java has to offer today :)
PS: I would require a great IDE, unit-testing/automation-testing, good scriptable build (Maven/Gradle style, not Ant/NAnt/MSBuild).
Although there are skins that can make it look native on each platform, I didn't bother with this for my app. Trying to match native on a cross platform app is a fools errand. A few months after you ship your app, the OS developers will decide to reskin everything and anything not using their native toolkit will look out of place. So my app takes its inspiration from Twitter Bootstrap and just doesn't even try to look native. You can skin JavaFX with CSS so it's quite easy to match the look, at least in some ways. Nobody has complained and quite a few people said the app looks great. I would definitely do this again for my future apps. Pick a nice design that isn't native to any platform in particular, and people won't hate you for it.
BTW Java now comes with a packager tool that makes self contained native installers which don't depend on the user having Java installed. Deployment is a lot more practical these days.