Win*_*ist 15 xaml svg c#-4.0 windows-8 windows-runtime
我如何在Windows 8/WinRT中将SVG文件转换为XAML.我是这个XAML/SVG环境的新手.所以任何人都可以帮我在windows 8中实现相同的功能.我需要解析这个svg文件,并需要通过代码在页面中显示内容.
Sev*_*ate 41
对我来说,最简单的方法是:
此外,您可能需要在转换后稍微更新结果输出文件,因为并非所有XAML处理引擎都支持将字符串转换为数字(如接受的答案中所述,为什么此Xaml Path会崩溃silverlight?).所以,例如,如果你有这个:
<Path Fill="#FFEDEDED" StrokeThickness="1" Stroke="#FFA3A3A3" Opacity="0.7"
VerticalAlignment="Center" HorizontalAlignment="Center" >
<Path.Data>
<PathGeometry Figures="m 1 2 l 4.0525 5.2361 l 4.0527 -5.2361 z "/>
</Path.Data>
</Path>
Run Code Online (Sandbox Code Playgroud)
然后你需要将它改为:
<Path Fill="#FFEDEDED" StrokeThickness="1" Stroke="#FFA3A3A3" Opacity="0.7"
VerticalAlignment="Center" HorizontalAlignment="Center"
Data="m 1 2 l 4.0525 5.2361 l 4.0527 -5.2361 z" />
Run Code Online (Sandbox Code Playgroud)
- 要么 -
您可以使用一种不同的方式从Inkscape导出xaml,由Tim Heuer在转换SVG到XAML的问题的接受答案中描述,因为两种方式都会产生不同的xaml输出:
方法(是的,超级):
使用Inkscape保存为PDF
将文件名扩展名从PDF重命名为AI
使用Expression Design打开AI文档
导出到Silverlight Canvas
更新时间(2015-08-25)
我发现自己越来越多地使用第二种("黑客")方式而不是第一种(更直接)方式,因为它创造了更多"可预期的"XAML,就像我所说的那样.