Which is the worst way to define the styling, and why CSS exists in the HTML world.  XAML goes somewhere in the middle.  You can specify all of the look in the declaration, as you show, or you can separate it out in styles and templates, which happen to still be XML with very similar syntax instead of a seperate concept like CSS.

Comparing CSS to XAML styles/templates there things to like and dislike about both.  I prefer the XAML syntax (and complete control, which you can only get with CSS by using XBL, which adds yet more complexity), but I miss a lot of the CSS selectors.

But back to your actual point, I still don't see the complexity in XAML.  Having done a lot of HTML/CSS, and even more XUL/CSS/XBL, the things I've done in XAML so far have been MUCH easier to do... at least once you know how.  There is a learning curve, as with everything else.  But the learning curve so far has been much less than what I went through for HTML/CSS and especially XUL/CSS/XBL.  And all of those are superior to Win32/WinForms and other traditional UI toolkits.  Declaritive markup for UIs vastly simplifies a lot of what I do.