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

帮助:更改WPF应用程序清单?,wpf,modal-dialog,manifest,messagebox,visual-styles,Wpf,Modal Dialog,Manifest,Messagebox,Visual Styles,WPF中的对话框未启用VisualStyle 乔·卡斯特罗(Joe Castro)在那里发布了一个我真的不知道如何实现的解决方案,有人能帮忙吗 以下是他的回答: 出于应用程序兼容性的原因,应用程序默认不使用v6系统通用控件(自XP起提供)。这并不真正适用于WPF,但您也只在使用本机控件的少数情况下看到它,因此它不像WinForms那样普遍,因为WinForms的API只是包装标准控件 要在WPF中修复此问题,您需要在exe的清单中指定v6 comctl32,从而显式选择它。这必须在exe上完成,

WPF中的对话框未启用VisualStyle

乔·卡斯特罗(Joe Castro)在那里发布了一个我真的不知道如何实现的解决方案,有人能帮忙吗

以下是他的回答:

出于应用程序兼容性的原因,应用程序默认不使用v6系统通用控件(自XP起提供)。这并不真正适用于WPF,但您也只在使用本机控件的少数情况下看到它,因此它不像WinForms那样普遍,因为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>

MyExe.exe

我不久前在我的博客上写到:

这些帖子描述了问题和解决方案:

这篇文章就是你要找的:


本文讨论了如何获得文件打开和保存对话框的Vista样式:

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

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