En WinRT C #, ¿cómo guardo un árbol XAML fuera de pantalla usando RenderTargetBitmap?
El siguiente código lanza una excepción System.ArgumentException críptica del método RenderAsync "El valor no está dentro del rango esperado". Si, por otro lado, mi lienzo es parte de un árbol visible de XAML, funciona. ¿Es imposible renderizar un XAML que no se muestra en la pantalla?
Canvas c = new Canvas();
c.Width = 40;
c.Height = 40;
c.Background = new SolidColorBrush(Color.FromArgb(0xff, 0x80, 0xff, 0x80));
RenderTargetBitmap x = new RenderTargetBitmap();
await x.RenderAsync(c);
Casi pensé que esta respuesta funcionaría, pero sin suerte, supongo que solo se aplica a WPF:Crear un elemento WPF fuera de la pantalla y renderizar en mapa de bits
ACTUALIZAR:
Hasta ahora, mi mejor idea es colocar el lienzo al que quiero renderizar en la página actualmente visible, pero colocarlo debajo de lo que normalmente es la UIElement raíz que llena la pantalla para que no sea visible para el usuario:
<Grid>
<Canvas x:Name="HiddenCanvas"/>
<Grid x:Name="mainElement" Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
</Grid>
</Grid>
No es hermoso pero parece funcionar. Veamos si alguien puede hacerlo mejor.