You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET MAUI应用的指定位置显示默认AppIcon?

.NET MAUI自定义位置引用AppIcon空白问题解决办法

直接用Image Source="appicon.png"显示空白的核心原因是:.NET MAUI自动生成的系统AppIcon不会被放到普通可引用的资源目录中,它仅用于系统级的应用图标展示(桌面、启动器等),无法直接通过普通图片引用方式调用。

以下是几种可行的解决方式:

  • 手动导出指定尺寸的PNG资源(通用方案)
    从你的SVG背景和前景文件中,导出自定义位置需要的尺寸(比如24x24、32x32等),命名为appicon-custom.png这类不会和系统生成图标冲突的名称。将文件放到项目的Resources/Images目录,确保项目文件中包含如下配置:

    <MauiImage Include="Resources\Images\appicon-custom.png" />
    

    之后在XAML中直接引用即可:Image Source="appicon-custom.png"

  • 复用系统生成的图标资源(分平台)

    • Android:系统生成的图标位于obj\Debug\net8.0-android\res\mipmap-xxx目录下,可复制对应尺寸的图标到资源目录,或者直接通过资源ID引用:
      <Image Source="@mipmap/ic_launcher" />
      
    • Windows:生成的图标在obj\Debug\net8.0-windows10.0.19041.0\Platforms\Windows\Appx\Resources目录中,复制到资源目录后正常引用即可
  • 直接引用SVG源文件(推荐)
    将你的AppIcon背景和前景SVG文件添加到Resources\Images目录,在项目文件中配置:

    <MauiSvg Include="Resources\Images\appicon-background.svg" />
    <MauiSvg Include="Resources\Images\appicon-foreground.svg" />
    

    安装Microsoft.Maui.Controls.Svg NuGet包后,使用SvgImage控件组合或单独引用SVG,无需转换为PNG:

    <SvgImage Source="appicon-background.svg" WidthRequest="32" HeightRequest="32" />
    

不需要像Xamarin时代那样手动创建全尺寸的多版本图标,只需针对自定义位置需要的尺寸处理即可,SVG引用方式更灵活且适配不同分辨率。

内容的提问来源于stack exchange,提问作者Ade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 07:32:36