В WinRT C # как сохранить внеэкранное дерево XAML с помощью RenderTargetBitmap?
Следующий код генерирует загадочное исключение System.ArgumentException из метода RenderAsync "Значение не попадает в ожидаемый диапазон ». С другой стороны, если мой Canvas является частью видимого дерева XAML, это работает. Разве нельзя сделать какой-нибудь XAML, который нет отображается на экране?
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);
Я почти думал, что этот ответ будет работать, но не повезло, я думаю, это относится только к WPF:Создать WPF-элемент вне экрана и рендерить в растровое изображение
ОБНОВИТЬ:
Пока что моя лучшая идея - поместить Canvas, на котором я хочу сделать рендеринг, на видимую в данный момент страницу, но расположить его под тем корневым UIElement, который заполняет экран так, чтобы он не отображался.т видимы для пользователя:
Это н'не красиво, но, похоже, работает. Посмотрим, сможет ли кто-нибудь добиться большего