我有一个在XAML中定义的矢量图像。在WPF应用程序中,正确的使用资源的方式是什么?
我想要将矢量图像放在自己的XAML文件中,然后将图像添加到应用程序中的其他UserControl中。我的XAML矢量图像中应该是什么顶层元素?如何在其他UserControl中引用该图像?
我有一个在XAML中定义的矢量图像。在WPF应用程序中,正确的使用资源的方式是什么?
我想要将矢量图像放在自己的XAML文件中,然后将图像添加到应用程序中的其他UserControl中。我的XAML矢量图像中应该是什么顶层元素?如何在其他UserControl中引用该图像?
这篇文章介绍了如何实现矢量图像资源的WPF应用程序中的使用。
<ContentControl Template="{StaticResource Credit-Card}" />
https://github.com/alansingfield/VectorIcon/blob/master/README.md
<Style x:Key="CarIcon"
TargetType="local:VectorIcon">
<Style.Setters>
<Setter Property="Geometry">
<Setter.Value>
<PathGeometry Figures="M18,18H6V6H18M18,4H6A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V6C20,4.89 19.1,4 18,4Z" />
</Setter.Value>
</Setter>
</Style.Setters>
</Style>
<local:VectorIcon Style="{StaticResource CarIcon}" Foreground="Green"/>
在WPF和Silverlight中以可重用的方式使用矢量图形非常困难。
这两个StackOverflow问题讨论了一些可用的选项:
WPF What is the correct way of using SVG files as icons in WPF
在阅读了这些问题和答案后,我认为最好的解决方案是坚持使用位图/光栅格式(如PNG),直到微软决定支持SVG。