I was just reading a few articles on XAML - Microsoft new UI language for rendering vector content and user interfaces - when it hit me that this probably can get you much further in web mapping interaction than SVG can. XAML is part of the "Windows Presentation Foundation" a part of .NET Framework 3.0
My first attempt to generate XAML was done by creating a new renderer for SharpMap, and below you can see my first results in XamlPad. The data here has been created based on a SharpMap map by my quick'n'dirty XamlRenderer for SharpMap.
All it takes with the new renderer is initializing the new renderer with your map, and request a new map:
SharpMap.Xaml.Renderer XamlRenderer = new SharpMap.Xaml.Renderer(map);
string xaml = XamlRenderer.GetMap();
If you zip the generated XAML file you even get a 20% reduction over a PNG image.
Next step is to add interaction like zooming, querying etc…
Download XAML for the above worldmap (261,36 KB)