Как конвертировать SVG в XAML для WP7 (и Silverlight)

Сегодня поговорим о том, как конвертировать SVG в XAML для WP7 (и Silverlight).
SVG и XAML достаточно близки по воей сути, оба формата имеют возможность работы с Canvas. Но WP7 (и Silverlight) не умеет работать с SVG, хотя в обновлении Mango обещана возможность использования SVG в контроле WebBrowser. И скорее всего прямое использование SVG в XAML еще не будет доступно.
Первый путь конвертирования:
Заходим на сайт http://www.graphspe.com/svg-to-xaml-converter#/Converter , загружаем исходный SVG файл, выбираем параметр Silverlight XAML, конвертируем. Конвертер не идеален — следует избегать наличия текста в SVG, некорректно работает с некоторыми конструкциями.
Путь второй:
С помощью IE9 и Microsoft XPS. Этот способ подсказан вот здесь: http://blogs.msdn.com/b/synergist/archive/2011/04/20/converting-svg-to-xaml-with-ie9-and-the-microsoft-xps-document-writer.aspx
Способ также не идеальный, подходит в основном для простых однотонных конструкций, например SVG файлов  с сайта http://thenounproject.com/ .
Последовательность действий:
1. Скачайте SVG файл на свой компьютер
2. Откройте SVG файл в IE9
3.  Распечатайте открытый файл с помощью Microsoft XPS Document Writer и сохраните результат в нужное место.
4. Смените расширение сохраненного файла с .xps на .zip .
5. Разархивируйте получившийся zip файл в отдельную папку.
6. В этой папке найдите файл Documents1Pages1.fpage и откройте его в Блокноте.
7. Скопируйте содержимое располагающееся между тегами <FixedPage>, включающее <Canvas/> и <Path/>.
8. Создайте новый элемент Canvas в Expression Blend и вставьте в него скопированное содержимое.

Как конвертировать SVG в XAML для WP7 (и Silverlight): 1 комментарий

  1. В WPF стиль представляет собой набор значений свойств, которые вы можете переиспользовать при создании аналогичных свойств у нескольких элементов управления. Вы можете сохранить стиль как ресурс, а затем применить этот ресурс для нескольких элементов управления, устанавливая их свойство стиля Style .

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *