2016-09-09 8 views
0

Я использую следующий код для визуализации UIElement.RenderTargetBitmap.RenderAsync Argument exception

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> 

Я называю этот метод после загрузки страницы, но если я пытаюсь использовать этот код, я получаю исключение, это StackTrace:

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() 

Как я могу это исправить?

+0

Учитывая, что (насколько я знаю) WritableBitmap не метод FromPixelBuffer (плюс это возвращая Задача и метод структуры обычно заканчиваются на «Async»). Я предполагаю, что это ваш собственный метод расширения? Не могли бы вы вставить код в этот метод? –

+0

проблема в этой строке «ожидайте bitmap.RenderAsync (elementToRender);», я получаю исключение – frenk91

+0

В этом случае ... похоже на http://stackoverflow.com/questions/35642908/rendertargetbitmap-renderasync-value -does-not-fall-in-the-expected-range –

ответ

0

Проблема заключалась в том, что XAML элемент, который содержит «elementToRender» имеет собственную видимость установлен Collapsed

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

  • Нет связанных вопросов^_^