使用C#和XAML在Metro应用程序中显示SVG

5

我正在使用XAML和C#开发一个Windows 8 Metro应用程序。

我已经拥有了指向SVG图像的Uri,这个Uri确实可以使用,但是我不知道如何获取这个图像并在XAML中显示它。

或者说,在.NET Core中无法处理SVG图像吗?


把它加载到Webview中怎么样?在HTML中使用带有src属性设置为你的SVG的<img>元素。如果它在你的包中,你应该能够使用ms-appx-web:///来引用它。 - Kraig Brockschmidt - MSFT
2个回答

3

一种方法是将SVG转换为XAML路径,这样您可以在任何XAML视图/控件中显示它。我使用这种方法在我的应用程序中显示矢量图标。快速搜索SVG to XAML (http://benpittoors.wordpress.com/2009/03/17/convert-svg-to-xaml/)。


很棒的文章!不幸的是,我只能在IE10下运行它。在Opera XPS打印机中输出了jpgs。 - SOReader
另一种将SVG转换为XAML的好方法是使用Inkscape。但是有一些限制,例如Metro应用程序无法使用RadialGradientBrush。 - Zéiksz
使用此应用程序要快得多:https://github.com/BerndK/SvgToXaml 它可以转换单个文件,也可以批量转换文件夹中的所有SVG。 - BerndK

1
这是IT相关的内容。
“在.NET Core中使用SVG是否不可能?”
“.NET Metro Profile”不是“.NET 4.5 Full Profile”甚至不是“.NET Client Profile”的一个要求或限制是Metro应用程序无法链接到未使用Metro Profile编译的任何内容。
我建议您改用WPF。

我认为你可能错了。.NETCore档案 就是所谓的Metro档案。.NET 4.5完整档案仅是可用于Windows桌面平台的.NET库的完整集合。这只是微软不幸的命名。(参见:在http://blog.stephencleary.com/2012/05/framework-profiles-in-net.html中搜索单词.NETCore) - Krishna
@Krishna - 我没有错。你无法针对完整的.NET Framework并将应用程序发布到Windows Store。 - Security Hound
1
正确。您无法针对完整的.NET fx并发布到Windows商店。但是我指的是另一种说法:“完整配置文件不称为“.NETCore”。“.NETCore”是您用于创建Windows商店应用程序的配置文件。 - Krishna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接