Inkscape没有';无法保存正确的xaml

Inkscape没有';无法保存正确的xaml,xaml,svg,inkscape,Xaml,Svg,Inkscape,我有一个在Inkscape中打开并另存为xaml的svg。当我查看xaml时,我发现xaml缺少一些元素。有没有办法将此文件正确保存为xaml?或者Inkscape中是否有方法修改元素,使错误不会发生 以下是我的svg: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="480" width="640" viewBox="0 0 640 480">

我有一个在Inkscape中打开并另存为xaml的svg。当我查看xaml时,我发现xaml缺少一些元素。有没有办法将此文件正确保存为xaml?或者Inkscape中是否有方法修改元素,使错误不会发生

以下是我的svg:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="480" width="640" viewBox="0 0 640 480">
  <defs>
    <path id="a" fill="#ffde00" d="M-.588.81L0-1 .588.81-.952-.31H.952z"/>
  </defs>
  <path d="M0 0h640v480H0z" fill="#de2910"/>
  <use xlink:href="#a" transform="matrix(71.9991 0 0 72 119.999 120)" width="30" height="20"/>
  <use xlink:href="#a" transform="matrix(-12.33562 -20.5871 20.58684 -12.33577 240.291 47.996)" width="30" height="20"/>
  <use xlink:href="#a" transform="matrix(-3.38573 -23.75998 23.75968 -3.38578 287.95 95.796)" width="30" height="20"/>
  <use xlink:href="#a" transform="matrix(6.5991 -23.0749 23.0746 6.59919 287.959 168.012)" width="30" height="20"/>
  <use xlink:href="#a" transform="matrix(14.9991 -18.73557 18.73533 14.99929 239.933 216.054)" width="30" height="20"/>
</svg>

这里是得到的xaml:

<?xml version="1.0" encoding="UTF-8"?>
<!--This file is NOT compatible with Silverlight-->
<Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Stretch="Uniform">
  <Canvas Name="svg17" Width="640" Height="480">
    <Canvas.RenderTransform>
      <TranslateTransform X="0" Y="0"/>
    </Canvas.RenderTransform>
    <Canvas.Resources>
      <Path xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="a" Fill="#FFFFDE00" x:Key="a">
        <Path.Data>
          <PathGeometry Figures="M-.588.81L0-1 .588.81-.952-.31H.952z" FillRule="NonZero"/>
        </Path.Data>
      </Path>
    </Canvas.Resources>
    <!--Unknown tag: metadata-->
    <!--Unknown tag: sodipodi:namedview-->
    <Path xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="path5" Fill="#FFDE2910">
      <Path.Data>
        <PathGeometry Figures="M0 0h640v480H0z" FillRule="NonZero"/>
      </Path.Data>
    </Path>
  </Canvas>
</Viewbox>


您可以看到输出中缺少5个xlink:href。

对于任何感兴趣的人,我在Inkscape中找到了一个解决方法:
只要对所有元素使用“取消链接克隆”,svg中就不会有更多的xlink。

xlink:href属性不会被移植。SVG不是XAML。您不认为使用XAML文件中的资源“a”会很容易吗。我手头没有确切的语法,但我认为这在xaml中也是可能的。是的,但您必须理解SVG是一个完全不同的野兽。您仍然可以从路径数据元素()获取事件等