目前,将 SVG 文件转换为 PathIcon 的主要问题是 PathIcon 在 XAML 中被指定为单个“Path”XAML 语句。因此,需要将 SVG 文件中的每个路径拆分为相同的“路径”语句,以与用于指定 PathIcon 的单路径 XAML 格式兼容。这更符合指定字体的方式。
不过,话虽如此,SVG 很容易翻译或转换为 XAML,因为它以 XML 格式指定:
<ResourceDictionary>
<Canvas
x:Key="appbar_icon1"
Width="76" Height="76"
...>
<Path ... />
<Path ... />
<Path ... />
...
</Canvas>
</ResourceDictionary>
从 SVG 文件中获取此 XAML PATH 数据的三种方法。
方法一:Inkscape
1) 在 Inkscape 中打开或创建 SVG
2) 文件 -> 另存为...
3) 在文件类型中,选择 Microsoft XAML(靠近底部)
4) 在窗口中,您可以选择兼容 Silverlight。我会选择它,因为它会生成更清晰的 XML
方法二:XPS格式
1) 将 SVG 打印到 XPS 打印机
2) XPS 打印机会要求您输入文件名。保存在某处
3) 将文件扩展名重命名为 .ZIP
4) 解压压缩包中的所有文件。它会创建一堆文件和文件夹
5) 查找文件。它可能在 Documents > 1 > Pages > 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" />
...