我开发了一个在Citrix环境中运行的WPF桌面应用程序,它将Windows 7 Basic Theme应用到我的应用程序中。因此,我在我的开发工作站上运行Windows 7,以确保UI按预期呈现。
我想将其升级到Windows 10,但我必须找到在Windows 10中运行Windows 7主题的应用程序。顺便说一句(奇怪的是),如果我在 Windows中运行我的应用程序Windows 10上的XP兼容模式,它使用Windows 7主题呈现,因此操作系统肯定能够呈现主题。我不确定我是否希望在激活兼容模式的情况下对我的应用进行所有测试...
我也知道第三方主题解决方案,但为了排除任何差异,我想使用Microsoft的正版Windows 7主题。
是否有任何技巧/调整/黑客可以在Windows 10中为我的应用程序启用Windows 7主题?
答案 0 :(得分:8)
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
Haven在今天之前没见过,需要更频繁地使用.NET 4.5;)
答案 1 :(得分:0)
尝试使带有子窗口的MDI窗体成为MDI,因为Childs使用Windows 7样式作为边框,或添加对PresentationFramework.Aero/AeroLite/Aero2的引用并将其应用于代码中