I did this once by exporting the canvas, not perfect but it might get the job done for you. I adapted this from here: WPF Diagramming. Saving you canvas to image, XPS document or raw Xaml. | Denis Vuyka
I used a "scale" of 2 for what I was doing, note that it is not the "Map Scale" the method just exports exactly what is visible in the canvas. Hope this helps.
public static void ExportToPng(Uri path, MapView surface, int scale)
{
if (path == null) return;
Transform transform = surface.LayoutTransform;
surface.LayoutTransform = null;
Size size = new Size(surface.ActualWidth, surface.ActualHeight);
surface.Measure(size);
surface.Arrange(new Rect(size));
RenderTargetBitmap renderBitmap =
new RenderTargetBitmap(
(int)size.Width * scale,
(int)size.Height * scale,
96d * scale,
96d * scale,
PixelFormats.Pbgra32);
renderBitmap.Render(surface);
using (FileStream outStream = new FileStream(path.LocalPath, FileMode.Create))
{
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(renderBitmap));
encoder.Save(outStream);
}
surface.LayoutTransform = transform;
}