RenderTargetBitmap.RenderAsync参数异常

本文关键字:异常 参数 RenderAsync RenderTargetBitmap | 更新日期: 2023-09-27 18:06:15

我使用下面的代码来渲染一个UIElement

var bitmap = new RenderTargetBitmap();
await bitmap.RenderAsync(elementToRender); //this line throws the exception
var pixelBuffer = await bitmap.GetPixelsAsync();
var wb = new WriteableBitmap(1, 1);
wb = await wb.FromPixelBuffer(pixelBuffer, bitmap.PixelWidth, bitmap.PixelHeight);
var stream = await wb.GetStream();

这是我的xaml:

<Grid x:Name="elementToRender" Background="White" Width="400" Height="400">
    <Ellipse Fill="Black" />
</Grid>

我在页面加载后调用这个方法,但是如果我试图使用这个代码,我得到一个异常,这是堆栈跟踪:

  System.ArgumentException 
  HResult=-2147024809
  Message=Value does not fall within the expected range.
  Source=mscorlib
  StackTrace:
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.GetResult()

我怎么能解决这个问题?

RenderTargetBitmap.RenderAsync参数异常

问题是包含"elementToRender"的xaml元素有它自己的可见性设置为collapse