Windows 10中的Authentic Windows 7主题



我开发了一个在Citrix环境中运行的WPF桌面应用程序,该应用程序将Windows 7基本主题应用于我的应用程序。因此,我在开发工作站上运行Windows7,以确保UI按预期呈现。

然而,我想将其升级到Windows 10,但我必须找到在Windows 10中运行Windows 7主题应用程序的方法。顺便说一句(而且奇怪的是),如果我在Windows 10上以Windows XP兼容模式运行我的应用程序,它会使用Windows 7主题进行渲染,所以操作系统肯定能够渲染主题。我不确定我是否想在激活兼容模式的情况下对我的应用程序进行所有测试,不过。。。

我也知道第三方主题化解决方案,但为了排除任何差异,我想使用微软的正版Windows7主题。

有什么技巧/调整/技巧可以简单地在Windows 10中为我的应用程序启用Windows 7主题吗?

Aero的WPF主题位于PresentationFramework.Aero库中,因此将其添加为引用。然后,在App.xaml中添加以下合并字典以覆盖默认主题。

<ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml" />
</ResourceDictionary.MergedDictionaries>

我感到惊喜的是,他们终于在.NET 4.5中更新了WPF,支持Windows 8/10主题化(在Windows 8开始时没有),并提供了以下内容:

  • PresentationFramework.Aero2
  • PresentationFramework.AeroLite

今天以前没有见过,需要更频繁地使用.NET 4.5;)

尝试将表单制作为具有子窗口的MDI,因为MDI子窗口使用windows 7样式作为边框,或者添加对PresentationFramework.Aero/AeroLite/Aero2的一些引用,并将其应用于代码