帮助:更改WPF应用程序清单?

时间:2009-11-01 02:28:06

标签: wpf modal-dialog manifest messagebox visual-styles

I posted a comment to Microsoft WPF中的对话框未启用VisualStyle。

Joe Castro在那里发布了一个解决方法,我真的不明白如何实现,任何人都可以帮忙吗?

以下是他的回复:

对于app compat原因,应用程序默认情况下不使用系统通用控件的v6(自XP以来可用)。这并不适用于WPF,但是在使用本机控件时,您也只能在少数情况下看到它,因此它不像WinForms那样普遍,它们的API只包含标准控件。

要在WPF中修复此问题,您需要通过在exe中的清单中指定它来显式选择加入v6 comctl32。这必须在exe上完成,因此WPF不能将其作为DLL的一部分。 EnableVisualStyles在运行时执行此操作,但这种方式通常更好。

,例如:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<description>MyExe.exe</description>
<dependency>
    <dependentAssembly>
     <assemblyIdentity
         type="win32"
         name="Microsoft.Windows.Common-Controls"
         version="6.0.0.0"
         processorArchitecture="*"
         publicKeyToken="6595b64144ccf1df"
         language="*"/>
    </dependentAssembly>
</dependency>
</assembly>

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

在Visual Basic中,项目属性的结构略有不同。如果您发现此问题并且您在VS2010中使用VB,请按照以下说明生成 app.manifest 文件。

  1. 要创建 app.manifest 文件,请转到您的项目,然后选择属性。然后单击应用程序选项卡下的查看窗口设置
    • ViewWindowSettings
  2. 这应生成并打开 app.manifest 文件,该文件保存在我的项目文件夹
    • app.manifest
  3. 进一步阅读: WPF MessageBox window style

相关问题