目前将SVG文件转换为PathIcon的主要问题在于,PathIcon在XAML中被指定为单个“Path” XAML语句。因此,SVG文件中的每个路径都需要被压缩到同一个“path”语句中,以与指定PathIcon的单个路径XAML格式兼容。这更符合字体指定的方式。
但是,话虽如此,SVG很容易被翻译或转换为XAML,因为它是用XML格式指定的:
<ResourceDictionary>
<Canvas
x:Key="appbar_icon1"
Width="76" Height="76"
...>
<Path ... />
<Path ... />
<Path ... />
...
</Canvas>
</ResourceDictionary>
从SVG文件获取此XAML PATH数据的三种方法。
方法1:Inkscape
1)在Inkscape中打开或创建您的SVG文件
2)文件 -> 另存为...
3)在文件类型中,选择Microsoft XAML(接近底部)
4)在窗口中,您可以选择Silverlight兼容。我会选择它,因为它生成更干净的XML
方法2:XPS格式
1)将您的SVG打印到XPS打印机
2)XPS打印机会要求您提供文件名。将其保存在某个地方
3)将文件扩展名更改为.ZIP
4)提取zip中的所有文件。它将创建一堆文件和文件夹
5)查找文件。它可能在文档 > 1 > 页面 > 1.fpage下
方法3:剪切和粘贴SVG文件XML
SVG是一种XML文件格式。您可以在喜欢的文本编辑器中打开它。如果您打开文件并向下滚动,请查看以下内容。
1) 在编辑器中打开SVG文件:
<g
transform="translate(0,0)"
id="layer1">
<path
id="path3388"
d="m 15.6,5 c 0,40 0,40 0,40"
.../>
<path
id="path3390"
d="m 35,5 c 0,40 0,40 0,40"
.../>
...
</g>
2) 手动将XML路径标签转换为XAML路径标签:
XAML:
<Path Data="F1 m 15.6,5 c 0,40 0,40 0,40"
Stroke="Black"
StrokeThickness="1" />
<Path Data="F1 m 35,5 c 0,40 0,40 0,40"
Stroke="Black"
StrokeThickness="1" />
...