WPF is Windows Presentation Foundation. It seems like a first class framework to me.
XAML is Microsoft's eXtensible Application Markup Language. It is a way of describing user interfaces in XML. It is rich and powerful.
But, why, in the name of all that is holy, is it not composable?! For the life of me, I cannot understand why a fragment X works as expected in context Y, but not in context Z. Nor does the documentation I have been wading through (as in, trying to make progress through the Augean stables) been of any help. The whole of the net is filled with anecdotal solutions to common problems with, so far, not one whit of a general set of principles to help guide one through the quagmire of UI development using XAML. I am giving serious consideration to not using it on my next project, but rather coding everything up directly in C#. I would put money on this being vastly more productive.
I have just ordered a book on the subject that sounds as though it will explain things to my satisfaction ("Applications = Code + Markup" by Charles Petzold, who is apparently something of a luminary). Of course, this being a modern programming book it doubles as a keep-fit device, weighing in at something over 1000 pages.