经典WPF桌面应用程序的Windows 10/8开始菜单图块图标大小

时间:2019-01-29 10:11:55

标签: wpf windows-10 icons tiles startmenu

我实际上想知道如何控制Windows 10开始菜单中作为图块快捷方式出现的“经典” WPF应用程序的图标大小(或者通常:要使用哪个图标?)。

我只发现了很少的帖子,例如this one on SO,但唯一得到的答案是,相应的机制仅适用于“现代” Windows应用程序。就实时磁贴和基于清单的定义而言,可能是正确的。

但是,必须是一种触发“更大”图标的方式。具体示例:我构建了一个WPF应用程序,将其固定到开始菜单时,仅在其中显示一个小图标。所有“经典”应用程序都属于这种情况-请参见所附的'Orca.exe' db editor快捷方式图片。我确实相信可以实现更大的图标,因为我注意到Mozilla Thunderbird应用程序(这是一个“经典”应用程序)显示为this one(自定义背景色和大图标尺寸)。

有人知道如何实现这一目标并可以分享他的知识吗?我已经从可执行文件/快捷方式中提取了使用过的图标,并进行了比较,但两者仅提供最大256px的标准图标大小,两者之间没有区别。

谢谢!

1 个答案:

答案 0 :(得分:1)

这实际上很简单,但是我记得自己很难找到文档(或者意识到这对于“经典”应用程序来说是完美的):

参考:MS docs - How to customize Start screen tiles for desktop apps

您可以使用名为 [Software] .VisualElementsManifest.xml 的xml文件来控制所描述的行为和开始菜单图块的出现,其中[Software]必须替换为.exe的名称。文件(无扩展名),例如 thunderbird.VisualElementsManifest.xml 。如前所述,您可以浏览Thunderbird文件夹以获取其内容的有效示例。基本上看起来像这样:

<Application xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
  <VisualElements
    ShowNameOnSquare150x150Logo='on'
    Square150x150Logo='VisualElements\VisualElements_150.png'
    ForegroundText="dark"
    BackgroundColor="#FF0000"/>
</Application>

您甚至可以通过创建适当的资源文件来提供其他选项和资产,以进行适当的缩放,本地化和可访问性,MS的documentation对此具有逐步说明。

注意,该文档警告其已弃用的内容。我不知道这项工作能持续多久,或者他们是否打算将来完全删除这种瓦片规范,但是到目前为止,它在所有版本的W10上都还算不错。

注意#2::如果您尝试使用现有的安装/快捷方式进行此操作,则必须刷新相应快捷方式的修改时间戳记,然后再次取消固定/固定图块,否则Shell不会注意到新定义文件的存在。在PS中执行此操作的最简单方法(修改系统文件夹中的快捷方式时以admin身份运行):

(ls "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\[ShortcutName].lnk").lastwritetime = get-date

或从目标文件夹中的CMD:

copy /b [ShortcutName].lnk +,,