3

我仔细按照说明如何在 WPF 应用程序中更改标准对话框的样式,所以我创建了一个 app.manifest,从创建的模板中取消了这部分的注释

<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<dependency>
   <dependentAssembly>
  <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0"
      processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*"
    />
</dependentAssembly>

检查项目属性: Icon and Manifest-> Manifest selected app.manifest in combo。重建项目...

仍然得到这样的坏风格:

作风不好

有任何想法吗?

使用 64 位 Win 7,VS 2010 SP1,为 x86 构建应用程序

谢谢回答

* 编辑 * Anton Tykhyy 作为评论回答了这个问题。谢谢安东

引用 Anton 的评论:“您是从 VS 内部运行项目吗?尝试直接运行可执行文件(开始->运行或资源管理器)。– Anton Tykhyy”

4

2 回答 2

3

当您从 VS 内部运行项目时,VS 实际运行的可执行文件不是您的构建输出 .exe,而是扩展名为 .vshost.exe 的特殊插页式可执行文件。此插页式可执行文件负责 VS 调试器和新进程之间的通信,但它没有您指定的图标或清单。这就是为什么你会得到不同的行为。

顺便说一句,在“调试”选项卡下的项目设置中有一个名为“启用 Visual Studio 托管进程”的复选框。如果您取消选中它,VS 将直接运行您的输出 .exe。

于 2013-01-25T15:14:36.147 回答
0

您在 assemblyIdentity 标记中指定的所有属性都是正确的,并给出您获得的结果。样式“不好”,因为您指定了“旧”样式。(故意?)。

您的问题既不是操作系统版本也不是 VS,而是您的目标程序集

斯蒂芬妮·哈利米

于 2013-01-25T13:08:14.703 回答