WinUI应用包图标及磁贴始终显示镀层版本,如何取消背景镀层?
解决WinUI应用图标/磁贴背景镀层问题
1. 修正资源命名规则
WinUI对无镀层图标的命名有严格的规范,你之前使用的部分后缀不符合要求:
- 无镀层(unplated)资源的正确后缀为
_altform-unplated,浅色主题无镀层为_altform-lightunplated,需确保与基础图标文件名完全对应。比如基础图标是Square44x44Logo.png,无镀层版本应为Square44x44Logo.scale-100_altform-unplated.png、Square44x44Logo.scale-140_altform-unplated.png,覆盖所有需要的缩放因子(scale-100/125/150/200等)。 - 主题关联的资源格式应为
{IconName}.scale-{ScaleFactor}_altform-unplated_theme-light.png,你之前的_altform-colorful_theme-light中colorful属于冗余字段,会导致Visual Studio无法识别资源。
2. 手动编辑Package.appxmanifest代码
Visual Studio的可视化资源编辑器有时无法自动识别自定义资源,直接修改XML可强制关联:
- 右键点击
Package.appxmanifest→选择「查看代码」 - 在
<Resources>节点下添加无镀层资源的声明,示例:<Resource Include="Assets\Square44x44Logo.scale-100_altform-unplated.png" /> <Resource Include="Assets\Square44x44Logo.scale-140_altform-unplated.png" /> - 针对磁贴资源,找到
<uap:Tile>下的<uap:Visual>节点,在<uap:TileImage>中指定无镀层版本,示例:<uap:TileImage Source="Assets\Square150x150Logo.scale-100_altform-unplated.png" />
3. 确认资源的生成操作设置
即使文件在Assets文件夹中,也可能因生成操作错误导致不生效:
- 在解决方案资源管理器中选中所有无镀层图标文件
- 右键→属性,将生成操作设为
内容,复制到输出目录设为如果较新则复制
4. 清理重建项目并重新部署
Visual Studio的缓存可能导致资源未更新:
- 点击菜单栏「生成」→「清理解决方案」
- 再点击「生成」→「重建解决方案」
- 卸载当前部署的应用后重新部署,确保旧资源被完全替换
5. Win10搜索场景的缓存清理
Win10的搜索磁贴缓存可能不会自动刷新:
- 打开系统设置→应用→应用和功能→找到你的应用→高级选项→点击「重置」
- 或手动删除
C:\Users\<你的用户名>\AppData\Local\Packages\<你的应用包名>\LocalState下的缓存文件
内容的提问来源于stack exchange,提问作者kenod
相关产品推荐
相关产品推荐

