当前位置: 首页 > news >正文

C# 在WPF .net8.0框架中使用FontAwesome 6和IconFont图标字体

文章目录

    • 一、在WPF中使用FontAwesome 6图标字体
      • 1.1 下载FontAwesome
      • 1.2 在WPF中配置引用
        • 1.2.1 引用FontAwesome字体文件
        • 1.2.2 将字体文件已资源的形式生成
      • 1.3 在项目中应用
        • 1.3.1 使用方式一:局部引用
        • 1.3.2 使用方式二:单个文件中全局引用
        • 1.3.3 使用方式三:整个项目中全局引用
    • 1.4 效果图
    • 二、在WPF中使用IconFont图标字体
      • 2.1 下载IconFont字体文件
      • 2.2 在WPF中配置引用
        • 2.2.1 引用IconFont字体文件
        • 2.2.2 将字体文件已资源的形式生成
      • 2.3 在项目中应用
        • 2.3.1 使用方式一:局部引用
        • 2.3.2 使用方式二:单个文件中全局引用
        • 2.3.3 使用方式三:整个项目中全局引用
    • 2.4 效果图

一、在WPF中使用FontAwesome 6图标字体

1.1 下载FontAwesome

官网下载地址:https://fontawesome.com/download
选择下载:Free For Desktop
在这里插入图片描述
下载完成后解压可在otfs文件下找到如下三个文件:
在这里插入图片描述

1.2 在WPF中配置引用

1.2.1 引用FontAwesome字体文件

在WPF项目中新建文件夹,如Fonts,将上面下载解压好的三个ttf文件复制到Fonts目录下
在这里插入图片描述

1.2.2 将字体文件已资源的形式生成

如下图所示:
选择Font Awesome 6 Brands-Regular-400.ttf, Font Awesome 6 Free-Regular-400.ttf, Font Awesome 6 Free-Solid-900.ttf,右键【属性】

  • 生成操作:资源
  • 复制操作:如果较新则复制始终复制

在这里插入图片描述

1.3 在项目中应用

1.3.1 使用方式一:局部引用
<Label  FontFamily="pack://application:,,,/Fonts/#Font Awesome 6 Free Solid" FontSize="128" Content="&#xf8cc;" Foreground="Red"/>

其中/Fonts为Font Awesome 6 Free-Solid-900.ttf坐在的目录,#之后为字体名称,字体名称可双击Font Awesome 6 Free-Solid-900.ttf文件查询
在这里插入图片描述
Content="&#xf8cc;"为对应图标的十六进制,具体的值可以通过官网https://fontawesome.com/search来进行查询
在这里插入图片描述

1.3.2 使用方式二:单个文件中全局引用

在mainwindow.xml中设置样式

<Window.Resources><Style x:Key="FontAwesome"><Setter Property="TextElement.FontFamily" Value="pack://application:,,,/Fonts/#Font Awesome 6 Free Solid"></Setter></Style>
</Window.Resources>

在控件中添加style属性的配置,其中IconFont对应style中配置的x:key的值

<Label Style="{DynamicResource FontAwesome}" FontSize="128" Content="&#xf8cc;" Foreground="Lime"/>
1.3.3 使用方式三:整个项目中全局引用

在App.xml中设置样式

<Application.Resources><ResourceDictionary><Style x:Key="AppFontAwesome"><Setter Property="TextElement.FontFamily" Value="pack://application:,,,/Fonts/#Font Awesome 6 Free Solid"></Setter></Style></ResourceDictionary>
</Application.Resources>

在控制中引用

<Label Style="{DynamicResource AppFontAwesome}" FontSize="128" Content="&#xf8cc;" Foreground="Blue"/>

1.4 效果图

在这里插入图片描述

二、在WPF中使用IconFont图标字体

2.1 下载IconFont字体文件

iconfont官网:https://www.iconfont.cn/?spm=a313x.search_index.i3.2.411c3a81NwQdm7

a. 搜索到需要的图标,然后点击下图按钮添加入库
在这里插入图片描述
b. 完成所有需要的图标入库之后,可以点击后侧类似购物车的图标;在弹出的界面中,可以查看所有入库的图标,然后点击【下载代码】

在这里插入图片描述

2.2 在WPF中配置引用

2.2.1 引用IconFont字体文件

将解压得到的6个文件全部复制到项目中去,比如这边复制的目录为IconFont文件夹
注:.ttf为字体文件
在这里插入图片描述

2.2.2 将字体文件已资源的形式生成

如下图所示:
选择iconfont.ttf,右键【属性】

  • 生成操作:资源
  • 复制操作:如果较新则复制始终复制
    在这里插入图片描述

2.3 在项目中应用

2.3.1 使用方式一:局部引用
<Label  FontFamily="pack://application:,,,/IconFont/#iconfont" FontSize="128" Content="&#xe8a7;" Foreground="Red"/>

其中/IconFont为iconfont.ttf坐在的目录,#之后为字体名称,字体名称可双击iconfont.ttf文件查询
在这里插入图片描述
Content="&#xe8a7;"为对应图标的十六进制,具体的值可以通过打开demo_index.html来进行查询
在这里插入图片描述

2.3.2 使用方式二:单个文件中全局引用

在mainwindow.xml中设置样式

<Window.Resources><Style x:Key="IconFont"><Setter Property="TextElement.FontFamily" Value="pack://application:,,,/IconFont/#iconfont"></Setter></Style>
</Window.Resources>

在控件中添加style属性的配置,其中IconFont对应style中配置的x:key的值

<Label Style="{DynamicResource IconFont}" FontSize="128" Content="&#xe8a7;" Foreground="Lime"/>
2.3.3 使用方式三:整个项目中全局引用

在App.xml中设置样式

<Application.Resources><ResourceDictionary><Style x:Key="AppIconFont"><Setter Property="TextElement.FontFamily" Value="pack://application:,,,/IconFont/#iconfont"></Setter></Style></ResourceDictionary>
</Application.Resources>

在控制中引用

<Label Style="{DynamicResource AppIconFont}" FontSize="128" Content="&#xe8a7;" Foreground="Blue"/>

2.4 效果图

在这里插入图片描述
##【参考程序】
参考程序下载:WPFICONFontApp.rar

http://www.lryc.cn/news/385623.html

相关文章:

  • 万能自定义预约小程序源码系统 适合任何行业在线预约报名 前后端分离 带完整的安装代码包以及搭建教程
  • 【MySQL备份】mysqldump篇
  • 控制台扫雷(C语言实现)
  • 操作系统期末复习 | 批处理程序 | PV实现同步互斥 | 调度算法 | 页面置换算法 | 磁盘调度算法
  • 字符串的六种遍历方式
  • 在码云(Gitee)上建立分支(Branch)的步骤如下:
  • JVM专题四:JVM的类加载机制
  • Python爬取中国天气网天气数据.
  • EXCEL快速填充空白内容
  • CBSD创建和管理bhyve容器Ubuntu@FreeBSD
  • STM32开发实战:SPI接口在W25Q64 Flash存储器中的应用
  • python一些进阶用法:hook 钩子函数以及Registry机制
  • 工作实践:11种API性能优化方法
  • 正版软件 | WIFbox:智能化文件管理工具,让效率与隐私并行
  • Postman接口工具实战
  • 江协科技51单片机学习- p17 定时器
  • 【D3.js in Action 3 精译】前言
  • Java SE入门及基础(58) 并发 进程与线程概念
  • 放松一下,简简单单了
  • 【智能制造-5】数采和电机
  • 【软考论文】论信息系统的安全性与保密性设计
  • 【图文教程】电脑查看显卡GPU温度方法:小白也能秒懂!
  • Qt的智能终端项目文档完整版
  • SQL面试题练习 —— 查询最近一笔有效订单
  • 分享HTML显示2D/3D粒子时钟
  • Java——IDEA使用
  • 高性能STL库 EASTL 、高性能JSON库
  • 多通道采集器采样接口设计[进行中...]
  • rapidjson使用中crash问题分析
  • TCP协议中的三次握手和四次挥手机制