Форум программистов, компьютерный форум CyberForum.ru

Рендеринг XAML. Windows Phone 8.1 - Windows Phone

Войти
Регистрация
Восстановить пароль
 
Dmitriy Wind
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 3
19.11.2014, 13:06     Рендеринг XAML. Windows Phone 8.1 #1
Добрый день.

Требуется отрендерить некий XAML элемент (canvas, border, grid и т.п.) в PNG файл. Элемент берется из xml-файла.

Метод RenderAsync работает только с видимыми на экране элементами.
Данное ограничение можно обойти, используя фоновую задачу с классом XamlRenderingBackgroundTask, который позволяет визуализировать элементы разметки.
Но... Фоновые задачи запускаются только по системным триггерам, либо по таймеру. Мне же надо принудительно, во время выполнения приложения, сформировать изображение.

Помогите, может кто-нибудь сталкивался или есть идеи на этот счет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2014, 13:06     Рендеринг XAML. Windows Phone 8.1
Посмотрите здесь:

Windows Phone Silverlight for windows phone 7.1
Windows Phone MVVM Windows Phone
Windows Phone: литература Windows Phone
Кроссплатформенность Windows Phone Windows Phone
Sqlite и Windows Phone Windows Phone
Windows Phone Архитектура Windows Phone 8
Windows Phone Наследование в Windows Phone
Windows Phone Windows Phone и локальная БД
Windows Phone Фриланс и Windows Phone
Windows Phone Анимация Windows Phone 8
Windows Phone GPS Windows Phone
Windows Phone Анкета на с# на windows phone

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
24.11.2014, 13:14     Рендеринг XAML. Windows Phone 8.1 #2
есть идеи
берешь кладешь свой фрейм в отдельный контрал, и в app.xaml.cs везде где используется фрейм - создаешь свой контрол, если нужно и вытягиваешь из него фрейм.
а в контроле под фреймом положил свой контрол и обыкновенным RenderAsync используешь, правда перед этим аккуратно создай его, т.е.

C#
1
2
3
renderControl.Measure(size);
renderControl.UpdateLayout();
renderControl.Arrange(new Rect(0, 0, size.Width, size.Height));
Dmitriy Wind
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 3
24.11.2014, 16:23  [ТС]     Рендеринг XAML. Windows Phone 8.1 #3
Не нашел RenderControl в ВП8.1 System.Web.UI недоступен.
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
24.11.2014, 17:17     Рендеринг XAML. Windows Phone 8.1 #4
да это я назвал тот контрол, который вам необходимо рендерить
Dmitriy Wind
0 / 0 / 0
Регистрация: 18.10.2014
Сообщений: 3
25.11.2014, 11:51  [ТС]     Рендеринг XAML. Windows Phone 8.1 #5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Border tile = XamlReader.Load(szCustomTileXML) as Border;
                if (null != tile)
                {
                    Grid grid = tile.Child as Grid;
 
                    Viewbox viewbox = new Viewbox();
                    viewbox.Child = grid; //control to render
                    viewbox.Measure(new Size(360, 360));
                    viewbox.UpdateLayout();
                    viewbox.Arrange(new Rect(0, 0, 360, 360));
 
 
                    RenderTargetBitmap rtb = new RenderTargetBitmap();
                    await rtb.RenderAsync(viewbox);
 
                }
Вываливается на RenderAsync

Добавлено через 13 минут
C System.ArgumentException разумеется.
Yandex
Объявления
25.11.2014, 11:51     Рендеринг XAML. Windows Phone 8.1
Ответ Создать тему
Опции темы

Текущее время: 04:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru