尝试渲染

时间:2016-01-07 16:56:18

标签: c# xaml uwp

我正在尝试将当前项目中每张幻灯片的快照保存为图像文件。作为其中一部分,我想使用RenderTargetBitmap来获取Grid及其内容。这是UserControl中我用作每张幻灯片模板的xaml:

<Grid Background="White" Opacity="0.8" x:Name="ContentGrid">
    <!-- Inking area -->
    <InkCanvas x:Name="inkCanvas"/>
</Grid>

我正在使用它来试图获得它:

RenderTargetBitmap b = new RenderTargetBitmap();
await b.RenderAsync(ContentGrid, 720, 480);

然后我循环遍历幻灯片集合,在每个幻灯片上调用方法。

但是,它始终会在RenderAsync方法上引发错误。例外是:

  

价值不在预期范围内。

我之前使用过这种方法,它总是很好用。唯一不同的是我在InkCanvas中有Grid,但我不知道这会对任何事情产生什么影响。

编辑:有趣的是,即使只创建一个没有设置属性的空白Grid并尝试渲染它也会引发相同的异常。

1 个答案:

答案 0 :(得分:0)

我在.NET Native运行时和编译器团队工作。我怀疑我们错误地从你的UI类型的某个属性中剥离了setter或getter。停止所有第一次机会异常应该显示一个堆栈,其中有一些PropertyInfo /反射在go之前看起来就是goop。如果是这样,可以通过向Default.rd.xml添加几行来更正此问题。特别是几行:

<Type Name="Full.Namespace.And.Name.Of.UIType" Dynamic="Required All"/>
<Type Name="Full.Namespace.And.Name.Of.OtherUIType" Dynamic="Required All"/>
...

如果您无法解决问题,请发送电子邮件至dotnetnative@microsoft.com,然后小心翼翼地解决问题。