Wpf Windows 10中的真实Windows 7主题?

Wpf Windows 10中的真实Windows 7主题?,wpf,windows,themes,windows-10,Wpf,Windows,Themes,Windows 10,我开发了一个在Citrix环境中运行的WPF桌面应用程序,该环境将Windows 7基本主题应用于我的应用程序。因此,我在dev工作站上运行windows7,以确保UI按预期呈现 不过,我想将其升级到Windows 10,但我必须找到在Windows 10中运行带有Windows 7主题的应用程序的方法。顺便说一句(奇怪的是),如果我在Windows 10上以Windows XP兼容模式运行我的应用程序,它将以Windows 7主题呈现,因此操作系统肯定能够呈现主题。我不确定我是否想在兼容模式激

我开发了一个在Citrix环境中运行的WPF桌面应用程序,该环境将Windows 7基本主题应用于我的应用程序。因此,我在dev工作站上运行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的一些引用,并将其应用到代码中

这确实是一个很好的解决方案。然而,我有一些遗留的WinForms屏幕,我通过interop托管这些屏幕,它们不受WPF主题的影响。我真的希望有一个解决方案,Windows将Windows 7主题应用于整个过程。@TormodFjeldskår不幸的是,WPF控件始终是自封的。众所周知,Windows窗体完全是本机的。我所能想到的唯一一件事就是某种形式的兼容性设置,但这并不实际。