惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Docker
腾讯CDC
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
Microsoft Security Blog
Microsoft Security Blog
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
Vercel News
Vercel News
P
Proofpoint News Feed
雷峰网
雷峰网
博客园_首页
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
F
Fortinet All Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
MyScale Blog
MyScale Blog
S
SegmentFault 最新的问题

博客园 - 丹心石

数据字节位改变 锁定鼠标光标到指定屏幕 WPF 访问WebAPI Avalonia 避坑经验总结 Avalonia 窗口与配置 Avalonia 程序打包成Linux平台的运行程序 数据处理与转换 信号与槽 Qt 串口通信 Avalonia 设计时DataContext数据山下文和WPF设计时DataContext数据上下文 Avalonia Ursa 使用 Avalonia-消息对话框 Avalonia-数据绑定 Avalonia-样式 Avalonia MVVM Avlonia 自定义控件 Sqlite EF For ConsoleCore Sqlite EF CodeFirst For WPF win10 环境变量不可编辑 WCF-双工通讯 MahMetro 框架学习 由于缺少调试目标“xxx”Visual Studio 无法开始调试。或者响应地设置outputpath和AssemblyName 属性 WPF 应用程序本地化-资源文件方式 FastReport 行高设置实现行高随内容自动变化
阿里图标库iconfont 在Avalonia 中的使用
丹心石 · 2026-02-03 · via 博客园 - 丹心石

之前在WPF中使用阿里图标库,目前需要在Avalonia中使用,这里把两者之间的区别略作介绍,以备以后忘记。

1.使用方法

  • 第一步:下载图标库,然后把解压的图标库文件添加到项目的目标文件夹中:

image

  • 第二步:也是关键的一步

WPF中需要设置该文件属性,是否复制,一般选择更新复制。也就是会在应用程序目录下自动生成一个对应的字体文件。生成操作:选择Resource
如图:
image

Avalonia 中属性设置
在Avalonia 中需要把第二项生成操作选择成“AvaloniaResource”,第一项一般和WPF一样选择“如果较新则复制”

  • 第三步:也是最关键的一步,设置资源键

WPF 中设置方式

  <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
          <ResourceDictionary>
              <FontFamily x:Key="iconfonts">pack://application:,,,/MyProject;component/Resources/fonts/#iconfont</FontFamily>
          </ResourceDictionary>
          </ResourceDictionary>
      </ResourceDictionary.MergedDictionaries>
  </ResourceDictionary>

Avalonia 中设置

<Application.Resources>
	<FontFamily x:Key="iconfont">
		avares://AvaloniaMVVMDemo/Resources/fonts/iconfont.ttf#iconfont
	</FontFamily>
</Application.Resources>

可以看出,在Avalonia 中不在使用“pack://application:,,,” 方式的URL,取而代之的是avares://...
而且在引用文件时加上了文件名和后缀。经测试,其实不加也可以。即“avares://AvaloniaMVVMDemo/Resources/fonts/#iconfont”