阿里图标库iconfont 在Avalonia 中的使用

之前在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”

posted @ 2026-02-03 09:21  丹心石  阅读(135)  评论(1)    收藏  举报