WPF—添加字体,fontawesome

        WPF使用字体时,可以不在系统中进行安装,直接引用字体文件就可以。这是一个不错的性能,这样尽可能保持了程序本身的自管理。

       经常有一些需求需要引用一些常见图标,fontawesome就是一个不错的选择。矢量字符充当图标与位图相比有他自身的优势,这里就不展开说了。那么WPF程序中,如何引用字符图标呢?

      准备:

     1、下载字体

     2、将字体文件,放到指定的目录下。例如放在下图位置,

       方法一:xaml方式,定义资源引用

<FontFamily x:Key="{x:Static wpf:FontUtils.AwesomeKey}">pack://application:,,,/FWindSoft.Wpf;component/Resources/#FontAwesome</FontFamily>

    将该资源定义放到Application的Resource中,或者放置到被编译成page的xaml文件中。定义资源键值,就能全局使用资源键值引用了
 

/// <summary>   
 /// wpf下字体相关命令    
/// </summary>   
public class FontUtils    
{ 
      static FontUtils()       
      {           
         AwesomeKey = new ComponentResourceKey(typeof(FontUtils), "FontAwesome");    
      }
       /// <summary>
        /// Awesome字体
        /// </summary>
        public static FontFamily Awesome { get; private set; }
}

方法二:通过绝对路径引用

    /// <summary>
    /// wpf下字体相关命令
    /// </summary>
    public class FontUtils
    {

        static FontUtils()
        {
            try
            {
                Awesome = new FontFamily(@"C:\Projects\Resouce\#FontAwesome");
            }
            catch (Exception )
            {
            }
        }


        /// <summary>
        /// Awesome字体
        /// </summary>
        public static FontFamily Awesome { get; private set; }
    }

方法三:通过wpf资源相对路径引用

这是我最喜欢的方式,这种方式比较简约,耦合关联性小。只是一开始的时候这个路径总是写不对,最后终于找到规律了,下面的写法真实可用。如果您和我似的为了心中那一点执念,想找一个自己满意的方式去引用字体,那么现在您可能找到了

    /// <summary>
    /// wpf下字体相关命令
    /// </summary>
    public class FontUtils
    {

        static FontUtils()
        {
            try
            {
                Awesome = new FontFamily(new Uri(@"pack://application:,,,/FWindSoft.Wpf;component/Resources/"), "./#FontAwesome");
            }
            catch (Exception )
            {
            }
        }


        /// <summary>
        /// Awesome字体
        /// </summary>
        public static FontFamily Awesome { get; private set; }
    }

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值