Wow!  The learning curve for WPF is pretty steep.  It is at least when you compare it to WinForms or ASP.NET.  I guess the price you pay for flexibility is complexity. 

Discoverablility is definitely a problem with XAML.  How do these silly tags work?  Most of them don't have properties as you would expect.  You have to add child tags which may or may not have properties.  The children may  also be extensions of the parent object.

Certain tags seems like they will have an effect, such as wrapping content, but like styles they seem to be ignorable base on some unclear hierarchy.  As you learn more you will find that inheritance is explicit instead of implicit like CSS.

Another interesting learning is that binding a directory full of images to image controls can bring your system to its knees.  As with most powerful development environments you can take as much rope as you want, but you may hang yourself.

I think in the future you will see some of the Expression tools incorporated, at least in part, into Visual Studio.  At that point the learning curve will ease some.  Until then, be prepared to work hard to create a well performing application.