专栏首页liulun学习WPF——使用Font-Awesome图标字体

学习WPF——使用Font-Awesome图标字体

图标字体介绍

在介绍图标字体之前,不得不介绍图标格式ICON ICON是一种图标格式,我们操作系统中各种应用程序都包含一个图标 比如QQ程序的图标是一个可爱的企鹅,我的电脑是一个显示器图标 ---------------- 一个图标文件是扩展名为.ICO或者ICON的文件 直到现在图标文件还是在计算机程序中随处可见 但有时候需要在不失真的情况下放大图标 因为ICON本身与JPEG\PNG格式的图形文件差异不大,也是非矢量图形 所以图标文件就很难满足这种需求 ---------------- 为了解决这种问题,就有作者把图形信息做到字体中去 我们今天要使用的Font-Awesome就是这种技术形式的一种实现 (当然还有其他办法解决这种问题,比如用css3绘制图标,但那种技术形式就比较难应用于客户端程序中了) ---------------- 常见的图标字体有很多,但我认为Font-Awesome是迄今为止最出色的图标字体(没有之一) 图标多、图标美观、兼容各种应用场景是其最主要的有点

WPF中使用Font-Awesome图标字体

我曾经在Qt应用程序中使用过Font-Awesome图标字体,用起来非常方便,展现效果也一如预期 但在WPF应用程序中使用图标字体就会显示成一个方框,如下图

后来,才找到解决办法: 首先到Font-Awesome官方网站下载字体程序

下载到的压缩包,解压后获得图标字体文件

然后把字体文件拷贝到项目中 并设置“复制到输出目录”为“如果较新则复制” 然后编辑程序代码:

<Window x:Class="WpfApplication1.MainWindow" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="MainWindow"> 
 <Window.Resources> 

 
   <Style x:Key="FontAwesome">
 
  <Setter Property="TextElement.FontFamily" Value="pack://application:,,,/#FontAwesome" />
 
  <Setter Property="TextBlock.Width" Value="100"></Setter>
 
  <Setter Property="TextBlock.Height" Value="100"></Setter>
 
  <Setter Property="TextBlock.TextAlignment" Value="Center"></Setter>
 
  <Setter Property="TextBlock.FontSize" Value="60"></Setter>
 
  <Setter Property="TextBlock.Foreground" Value="Green"></Setter>
 
  </Style>
 
 
  </Window.Resources> 
   <WrapPanel Margin="12"> 
  <TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" />
 <TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" />
 <TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" />
 <TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" />
 <TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" />
 <TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" />
 <TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" />
 <TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" />
 <TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" />
 <TextBlock Text="&#xf01a;" Style="{DynamicResource FontAwesome}" />
 
 </WrapPanel> 
</Window>
    

运行程序,看到图标,大功告成

修改记录

2015-12-26:编写样例程序,完成部分文章内容 2014-12-29:修改部分内容,修改文档格式

参考资料

add-icon-font-in-wpf changing-font-icon-in-wpf-using-font-awesome

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 区块链3.0时代将给传统金融领域带来的巨大变革和突破

    2017这一年,中国的互联网公司迅速崛起,腾讯、阿里巴巴的市值,已经能与Facebook、Amazon比肩。而在区块链世界里,中国的力量也同样开始挑战世界之巅。...

    企鹅号小编
  • 杨税令:究其根本,区块链就是一个规则

    欢迎大家关注即将播出的中国第一档区块链技术科普类节目《啃碎区块链》。本篇内容为试播片段,用于收集意见和反馈,您的宝贵建议可能在最终节目中播出。 第1期:区块链是...

    企鹅号小编
  • AI3.0:哈希图来了!它将如何变革AI与区块链技术?

    2017年大热的几个概念:AI、机器人、区块链、工业4.0……他们看似彼此孤立,但事实上正在被逐渐集合于一体,创造功能更强大、执行任务更加智能的实体。毕业于哈佛...

    企鹅号小编
  • Crowie Genie:首个新加坡授权的全亚洲区块链贷款平台

    作者:佚名 翻译:Lance Crowd Genie宣布将通过与其相关联的实体CGSPV Pte有限公司,首次进行其CGCOIN货币的ICO Token...

    企鹅号小编
  • 区块链技术中那些我们不知道的秘密,全面认识区块链答案在这里

    近两年,区块链技术时常被热捧,网上对它的解释也是五花八门,有的文章甚至用了几万字来描述它(这对常人来说读完都是一种负担)。我假设你是不懂金融,也不懂网络,更不懂...

    企鹅号小编
  • 以太坊加速区块同步方法

    以太坊加速区块同步方法 无论是使用图形界面或geth客户端进行节点数据同步时都会是一个漫长的过程。中间还会因为链接其他节点失败导致迟迟无法同步数据,一直打印错误...

    用户1161110
  • 区块链里程碑!澳洲证交所刚刚宣布一项重大改变

    澳洲证交所(ASX)宣布将使用区块链来处理股票交易,这对于整个区块链行业来讲,无疑是里程碑式的重磅消息。ASX也成为全球首家正式启用区块链技术的大型交易所。 来...

    企鹅号小编
  • 2018年区块链五大关键趋势预测:区块链与物联网结合有望突破

    雷锋网AI金融评论按:本文译自《福布斯》杂志,作者Bernard Marr 。 自 2011 年以来,区块链技术以及比特币的出现,带来广泛变革的潜力已经越来越受...

    企鹅号小编
  • 区块链Block创建时间

    区块时间获取 无论BTC系列的区块还是ETH系列的区块,区块创建的时间存储单位都是unix时间戳。单位是秒而不是毫秒,这是我们在使用时必须注意的,如果直接用它来...

    用户1161110
  • what?区块链能撸猫了?

    这是最好的猫,也是最坏的猫。——喆华·沃兹基索德 养猫的人,总会和猫咪存在着不舍离的情感 喜欢猫但不敢养的大多数人, ? 就是因为怕有一天会与它断舍离。 但如...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券