WPF应用程序的Windows任务栏中出现了错误大小的图标



我有一个简单的WPF应用程序。我有一个漂亮的多分辨率图标,大小从256x256一直到16x16。都是些平常的东西。

我的应用程序在Windows资源管理器中看起来很棒,图标看起来很棒,即使在超大视图下也是如此。图标的比例很好,我看到了合适的图标和合适的分辨率。

然而,48x48总是用于固定的任务栏或固定的开始菜单,它看起来很糟糕。

我在通常的位置找不到关于这个的任何东西,但我的直觉告诉我一定有人知道一些事情,而我只是错过了一些明显的东西。

任务栏图标似乎变得模糊,只要一个48x48像素的版本包含在。ico文件。而不是选择正确大小的32 × 32像素的版本,由于某种原因,Windows显然选择了48 × 48的版本并将其放大。

我的解决方案是使用两个单独的图标文件:

  • 一个。ico包含24x24和32x32版本的图标,当在XAML或Hannish的方法中使用Icon属性设置为窗口图标时,将分别用于标题栏和任务栏- 没有不必要的缩放。
  • 第二个图标文件包含-取决于哪些来源是正确的-大小范围在16x16和256x256像素之间。将这个图标设置为项目属性中的应用程序图标,将使该图标在桌面和文件资源管理器等不同视图设置下的所有其他地方看起来都很好。

在Windows 10上测试,这似乎涵盖了以下显示案例:任务栏,窗口标题栏,Alt-TAB菜单,桌面和文件资源管理器

显示在任务栏中的图标大小是由多种因素决定的;HKEY_CURRENT_USER|控制面板|桌面|WindowMetrics, DPI设置和任务栏设置的'MinWidth'值

选择48x48是因为默认的"MinWidth"设置是(我相信)53,而48x48是图标中适合该设置的最大分辨率。

如果你不满意48x48图标的样子,它可能只是需要重新设计。确保使用了正确数量的颜色等等。小图标看起来怎么样?和48x48一样差还是更差?如果是这样,那么也许这个图标太复杂了,在这么小的分辨率下看起来不太好。

我知道没有办法强制窗口为任务栏选择不同的图标大小

最新更新