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

推荐订阅源

OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
L
LangChain Blog
WordPress大学
WordPress大学
MyScale Blog
MyScale Blog
The Cloudflare Blog
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
Recent Announcements
Recent Announcements
Microsoft Azure Blog
Microsoft Azure Blog
Y
Y Combinator Blog
有赞技术团队
有赞技术团队
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
Martin Fowler
Martin Fowler
小众软件
小众软件
量子位
月光博客
月光博客
P
Proofpoint News Feed
IT之家
IT之家
腾讯CDC
博客园 - 三生石上(FineUI控件)
博客园 - 司徒正美
雷峰网
雷峰网
V
Visual Studio Blog

博客园 - 丹心石

数据字节位改变 锁定鼠标光标到指定屏幕 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”