在WPF应用程序中使用XAML矢量图形

时间:2009-06-17 13:57:58

标签: wpf xaml vector-graphics

我有一个我在XAML中定义的矢量图像。在WPF应用程序中使用此资源的正确方法是什么?

我希望将矢量图像放在自己的XAML文件中,然后将图像添加到我的应用程序中的其他UserControls。什么应该是我的XAML矢量图像中的顶级元素?如何在其他UserControls中引用该图像?

3 个答案:

答案 0 :(得分:10)

http://learnwpf.com/post/2006/06/04/How-do-I-Include-Vector-Based-Image-Resources-in-my-WPF-Application.aspx解释了如何做到这一点。

<ContentControl Template="{StaticResource Credit-Card}" />

答案 1 :(得分:1)

在WPF和Silverlight中以可重用的方式使用矢量图形非常困难。

这两个StackOverflow问题讨论了一些可用的选项:

XAML Icons - How to use?

WPF What is the correct way of using SVG files as icons in WPF

在阅读完这些问题和答案后,我认为最好的解决方案是坚持使用像PNG这样的位图/栅格格式,直到微软决定支持SVG。

答案 2 :(得分:0)

以下是可重复使用的样式风格的实现方法:

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"/>