The problem of WPF in my opinion is the absence of strong typing (all binding is based on magic strings) and the fact that if you want to customise a little bit a control you are left rewriting it from scratch. WPF could be a lot better and easier to use than it is.