2016-01-07 10 views
1

Я пытаюсь сохранить снимок каждого слайда в текущем проекте как файл изображения. В рамках этого я хочу использовать RenderTargetBitmap, чтобы получить Grid и его содержимое. Вот XAML в UserControl, что я использую в качестве шаблона для каждого слайда:Исключение System.Argument при попытке визуализации

<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 без каких-либо заданных свойств и попытки его визуализации бросает одно и то же исключение.

ответ

0

Я работаю над командой .NET Rational и компилятором. Я подозреваю, что мы ошибочно удалили сеттера или получателя из одного из свойств вашего типа пользовательского интерфейса. Остановка на всех исключениях первого шанса должна показать вам стек, в котором есть некоторый объект PropertyInfo/reflection, выглядящий прямо перед броском. Если это так, это можно исправить, добавив несколько строк в ваш 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"/> 
... 

Если вы не можете ее решить, напишите нам по адресу [email protected] и hopfully, чтобы вы разобрались.

+0

К сожалению, это, похоже, не исправить. Я пришлю электронное письмо по этому адресу. –

Смежные вопросы