Avalonia如何给应用设置图标 Avalonia修改程序图标方法

来源:这里教程网 时间:2026-02-21 17:36:56 作者:

在 Avalonia 中设置应用图标,主要分两部分:一是为 Windows 平台设置

.ico
文件作为可执行文件图标(即任务栏、桌面快捷方式显示的图标),二是为跨平台 UI 界面(如窗口左上角)设置
Window.Icon
。两者独立生效,缺一不可。

Windows 可执行文件图标(.exe 图标)

这是用户最常想改却容易忽略的部分——Avalonia 默认生成的

.exe
使用的是 .NET SDK 内置图标。要替换它,需在项目文件(
.csproj
)中指定
ApplicationIcon
属性:

准备一个符合要求的
app.ico
(建议包含 16×16、32×32、48×48、256×256 多尺寸,保存为
.ico
格式)
将该文件放入项目目录(如根目录或
Assets/
子目录)
.csproj
<propertygroup></propertygroup>
中添加:

app.ico

⚠️ 注意:仅对 Windows 目标(

TargetFramework
win
,如
net8.0-windows
)生效;构建后图标会嵌入到生成的
.exe
中,无需额外部署。

Avalonia 窗口左上角图标(Window.Icon)

这是运行时显示在主窗口左上角(标题栏)、任务栏预览缩略图中的图标,支持跨平台(Windows/macOS/Linux)。需在 XAML 或代码中设置:

推荐把图标文件(如
icon.png
icon.ico
)放在
Assets/
目录下,并设其
Build Action
EmbeddedResource
MainWindow.xaml
中设置:

或者在 C# 代码中(如

App.xaml.cs
OnFrameworkInitializationCompleted
):

MainWindow.Icon = new WindowIcon("avares://YourApp/Assets/icon.png");

✅ 支持 PNG(推荐带透明通道)、ICO、SVG(需启用

Avalonia.Svg
包)。

macOS 和 Linux 图标补充说明

macOS 不读取

Window.Icon
,而是依赖打包时的
.icns
文件;Linux(如 GNOME)通常使用
Window.Icon
指定的 PNG。

macOS:用工具(如
iconutil
)将 PNG 转为
AppIcon.icns
,放入
Resources/
,并在打包配置(如
Directory.Build.props
)中引用
Linux:确保 PNG 尺寸为 128×128 或 256×256,路径正确即可

基本上就这些。重点记牢:Windows .exe 图标靠

ApplicationIcon
,界面窗口图标靠
Window.Icon
+
avares://
路径,两者不互相替代。

相关推荐