如何解决为 MS Store 打包的 Winforms 应用程序在任务栏上显示不正确的图标
我使用“Windows 应用程序打包项目”(WAPP ---以前称为“桌面桥”)在 Visual Studio 中打包了我的 Winforms 应用程序。当我测试由 WAPP(.appxbundle 文件)创建的应用商店安装时,应用程序安装并正确启动,但 Windows 任务栏中显示的应用程序图标不正确(它显示我的应用程序图标的一个非常小的版本,带有 ?blue-square?背景)。
我用于我的应用的图标文件提供以下图像尺寸(具有透明背景):16x16、24x24、32x32、48x48 和 256x256。
应用程序的主窗体(启动时显示的唯一窗体)具有在窗体设计器中设置的以下属性:
ShowInTaskbar=True
ShowIcon=True
Icon=*my icon file*
我的应用程序的属性页面将“应用程序>图标”设置为与上述相同的图标文件。
此外,在解决此问题时,我尝试将图标文件添加到我的应用程序的“资源>图标”,并将以下代码添加到主窗体的 Form_Load 事件中,以便在运行时重新应用该文件:
Me.Icon = My.Resources.MyIcon7
使用此运行时代码,Store 应用程序继续在任务栏中显示带有蓝色背景的小/不正确图标图像。
Windows 开始菜单中显示的图标是具有正确透明背景的正确(较大)图标。
此外,如果我使用 .exe(在 Visual Studio 中构建应用程序时在此处创建“bin\Release\myapp.exe”)启动我的应用程序的“非商店”版本,任务栏中会显示正确的图标。
非常感谢!
解决方法
好的,我想通了!这是解决方案... MS Store 安装版应用所使用的图标必须在“Windows 应用程序打包项目”(原“桌面桥”)中提供。
访问和/或提供这些图标:
- 在 Visual Studio 中,转到解决方案资源管理器并展开您添加到解决方案中的“Windows 应用程序打包项目”节点。
- 在展开的节点中找到并双击 Package.appxmanifest。这将打开清单 GUI
- 单击清单 GUI 中的 Visual Assets 选项卡
- 循环浏览左侧的图片类别,确保您对所有图片都满意。注意:任务栏的图像位于应用程序图标类别下
此外,任务栏中我的图标上出现的蓝色背景显然是 Windows 主题的默认行为。 Windows 会检查您为应用程序提供的图标,并确定该图标是否与当前主题的任务栏颜色形成鲜明对比。如果 Windows 认为您的图标不适合当前主题,它会创建并显示您的图标的“镀层”版本,而不是常规的“未镀层”版本。当一个图标被镀上时,图标会稍微缩小并放置在一个方形的蓝色背景上(在我看来,它看起来很丑而且不合适)。要覆盖此默认行为并为浅色 Windows 主题提供您自己的主题特定图标,请将新图标文件添加到 Assets 文件夹(在解决方案资源管理器中),文件名中包含文本“lightunplate”。例如,我的 Assets 文件夹包含以下图标文件:Square44x44Logo.targetsize-24_altform-unplate.png 当 Theme 设置为 Dark 时,它被用作任务栏图标。我创建了一个名为:Square44x44Logo.targetsize-24_altform-lightunplate.png 的新图标文件,并通过右键单击该文件夹并选择 Add>Existing Item 将其添加到 Assets 文件夹中。添加后,新图标在主题设置为浅色时被窗口使用,而不是被窗口“镀”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。