My beef with XAML is it's a whole other language aside from C# into which the semantics of C# and WPF had to be mapped. Worse, the constraints of XAML affected the design of WPF itself. I.e. the tail wagged the dog.
If C# had hygienic macros, I think the syntax of C# could have been extended for WPF specific needs, without having to resort to an XML based solution.
With a few extension methods, C# can come close and sometimes exceed XAML in its concision. I've been collecting these in a FluentWpf (https://github.com/dharmatech/FluentWpf) project on GitHub.
An example: http://stackoverflow.com/questions/1347219/are-there-any-flu...