如何在
Windows 8 / WinRT中将SVG文件转换为XAML.我是这个XAML / SVG环境的新手.所以任何人请帮助我在Windows 8中实现相同.我需要解析这个svg文件,需要通过代码在页面中显示内容.
对我而言,最简单的方法是:
>在免费矢量绘图工具Inkscape中打开.svg文件
>另存为“Microsoft XAML(* .xaml)”
此外,您可能需要在转换后更新结果输出文件,因为并非所有XAML处理引擎都支持将字符串转换为数字(如接受的答案为Why does this Xaml Path crash 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>
那么您将需要将其更改为:
<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" />
– 要么 –
您可以使用一种不同的方式将Convert SVG to XAML的xaml导出,由Tim Heuer在问题Convert SVG to XAML的接受回答中描述,因为这两种方式产生不同的xaml输出:
Method (yes,superhack):
Use Inkscape to save as PDF
Rename the Filename extension from PDF to AI
Use Expression Design to open AI document
Export to Silverlight Canvas
更新(2015-08-25)
我发现自己使用第二个(“hack”)方式越来越多,而不是首先(更直接)的一个,因为它创建了更多的“可预期的”XAML,就像我所说的那样.