Provide a way to render an extent as an image

Idea created by mlaily on Mar 12, 2015
    Under Consideration
    • mlaily
    • timmhay
    • nilankad
    • agalushkadev
    There is currently no easy way to render a MapView to an image (SDK for .Net 10.2.5) - aka doing a screenshot.
    I know it's theoretically feasible to render a Xaml control to an image using a RenderTargetBitmap, but doing this for a MapView does not work reliably :
    - SetView() is not immediate. A small delay is required so that the map can renders the new extent correctly.
    - There is no way to know when the rendering of a map portion is done, or when the tiles of an online map have fully loaded, and so an arbitrary delay must be introduced between the call to SetView() and the actual rendering of the MapView, and we have to hope it will be sufficient.
    - Rendering an invisible MapView is almost impossible, as apparently, the rendering pipeline is enabled only when the MapView is connected to the Xaml Visual Tree.

    So the small requirement of reliably taking a screenshot of an arbitray extent is almost impossible to fullfil.

    The same problems arise when printing on the client side, though the PrintDialog has an easier method for the rendering step, and users are more keen to wait for a map to load when they can see it.