WPF 字体图标 IconFont 的简单使用

原文: WPF 字体图标 IconFont 的简单使用

开篇

字体图标除了前面将的FontAwesome以外,还有阿里图标IconFont也是UI设计中经常使用的图标库。阿里图标的自定义功能比较好用,可以自定义下载的图标文件大小,自定义图标等。本篇主要谈谈IconFont字体图标在WPF中的简单使用。

实现

第一步:下载

地址:https://www.iconfont.cn/

方法:1.注册一个账号(为了方便管理自己的图标)

           2.通过搜索找到需要的图标

         3.将图标添加入库

4.找到右上角“购物车”,查看已经添加的图标。ps:图标可以添加任意个,最后所有的图标都保存在一个文件(.ttf)中。点击 “下载代码”即可。

5.下载的文件解压之后,文件如下所示

第二步:添加字体资源

将下载的.ttf文件(iconfont.ttf)文件添加到项目中,(ps:添加的详细方法可以查看上一篇《WPF 图标字体 FontAwesome 的简单使用》中的添加字体资源)如下图所示:

第三步:使用图标

1.找到图标和图标代码

在下载的文件中,有demo_index.html文件可以直接使用浏览器查看,里面包括了我们下载的所有的图标和图标代码(Unicode编码)。在打开的demo_index.html中,可以清晰的看到图标和图标代码。

2.使用代码

设置字体:

FontFamily="pack://application:,,,/Fonts/#IconFont"

设置图标:

Text=""

完整代码:

 


  
  
  1. <Window x:Class= "Mef.UseIconFont.MainWindow"
  2. xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d= "http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc= "http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local= "clr-namespace:Mef.UseIconFont"
  7. mc:Ignorable= "d"
  8. Title= "MainWindow" Height= "450" Width= "800">
  9. <Grid>
  10. <StackPanel HorizontalAlignment= "Center" Orientation= "Horizontal">
  11. <TextBlock Foreground= "Red"
  12. Margin= "10"
  13. FontSize= "50"
  14. Height= "50"
  15. FontFamily= "pack://application:,,,/Fonts/#IconFont"
  16. Text= "&#xe66a;"/>
  17. </StackPanel>
  18. </Grid>
  19. </Window>

运行效果:

3.简单拓展

源代码:


  
  
  1. <Window x:Class= "Mef.UseIconFont.MainWindow"
  2. xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d= "http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc= "http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local= "clr-namespace:Mef.UseIconFont"
  7. mc:Ignorable= "d"
  8. Title= "MainWindow" Height= "450" Width= "800">
  9. <Grid>
  10. <Viewbox>
  11. <StackPanel HorizontalAlignment= "Center" Orientation= "Horizontal">
  12. <TextBlock Foreground= "Gray"
  13. Margin= "10"
  14. FontSize= "50"
  15. Height= "50"
  16. FontFamily= "pack://application:,,,/Fonts/#Iconfont"
  17. Text= "&#xe66d;"/>
  18. <TextBlock Foreground= "Lime"
  19. FontSize= "50"
  20. Margin= "10"
  21. Height= "50"
  22. FontFamily= "pack://application:,,,/Fonts/#Iconfont"
  23. Text= "&#xe66a;"/>
  24. <TextBlock Foreground= "Orange"
  25. FontSize= "50"
  26. Margin= "10"
  27. Height= "50"
  28. FontFamily= "pack://application:,,,/Fonts/#Iconfont"
  29. Text= "&#xe66b;"/>
  30. <TextBlock Foreground= "Red"
  31. Margin= "10"
  32. FontSize= "50"
  33. Height= "50"
  34. FontFamily= "pack://application:,,,/Fonts/#Iconfont"
  35. Text= "&#xe66c;"/>
  36. </StackPanel>
  37. </Viewbox>
  38. </Grid>
  39. </Window>

总结

在VS2017中,FontAwesome字体图标给文本(text或者Content)设置图标时,设计器可以直接加载图。而Iconfont字体图标却不能加载,只能展示一个方框。

FontAwesome

Iconfont

源码下载:https://download.csdn.net/download/youyomei/10944700

Over 

每次记录一小步...点点滴滴人生路...

猜你喜欢

转载自www.cnblogs.com/lonelyxmas/p/12154750.html