But XAML was intended from the start to play well with visual design-time tools, and C#-with-macros would probably have been too expressive to be roundtripped reliably through Blend and the VS designer.
C# with an ordained set of macro based extensions intended for use with WPF would work fine with a visual designer like Blend and the VS one. The visual designers would be the ones generating this code, so they'd know how to parse it.