为什么我的 SVG 文件没有在 UWP/XAML 中显示为图像标签的来源?

Why my SVG file is not displayin as source of my Image tag in UWP/XAML?

我正在 visual studio 上开发一个 UWP 应用程序,并在整个过程中学习。我对导航栏和 svg 文件的图标有疑问。首先,我尝试将自定义图标作为 PNG 文件,没有问题,图标显示正确。然后我决定将 SVG 用于高质量的 porpuses,并从 PNG 文件创建与 SVG 相同的图标。但由于某种原因,它根本没有显示。

这是我的 XAML:

<NavigationViewItem Name="AdminTest" Tag="Profile">
                    <NavigationViewItem.Content>
                        <StackPanel Orientation="Horizontal" Margin="-15,0,0,0">
                            <Image Source="/Assets/test.svg" Width="40" Height="20
                                  "/>
                            <TextBlock TextAlignment="Center" Text="AdminTest"/>
                        </StackPanel>
                    </NavigationViewItem.Content>
</NavigationViewItem >

这是图标应该是:

svg 已添加到我的解决方案中,之前它是 png 时工作正常,知道我做错了什么吗?

Why my SVG file is not displayin as source of my Image tag in UWP/XAML?

问题是您的 svg 图像具有特定的宽度和高度 属性。请编辑您的 svg 图片内容并找到 widthheight 属性 并删除它们。

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   id="svg4236"
   version="1.1"
   inkscape:version="0.91 r13725" 
   height="200" //delete height
   width="200"  //delete width
   viewBox="0 0 200 200"
   sodipodi:docname="MallowNinebark.svg">
  <metadata