Reputation: 6002
I develop a WPF desktop application that runs in a Citrix environment which applies the Windows 7 Basic Theme to my application. As a result, I run Windows 7 on my dev workstation to make sure the UI renders as intended.
I would like to upgrade it to Windows 10, however, but I have to find means of running my app with the Windows 7 theme within Windows 10. Incidentally (and oddly), if I run my app in Windows XP compatibility mode on Windows 10, it renders with the Windows 7 theme, so surely the OS is able to render the theme. I'm not sure I want to do all the testing of my app with compatibility mode activated, though...
I am also aware of 3rd party theming solutions, but to rule out any discrepancies, I would like to use the authentic Windows 7 theme from Microsoft.
Are there any tricks/tweaks/hacks out there to simply enable the Windows 7 theme for my app in Windows 10?
Upvotes: 6
Views: 1932
Reputation:
Try making the form an MDI with child windows as MDI Childs use the Windows 7 style as their border, or add some references to PresentationFramework.Aero/AeroLite/Aero2 and apply it in your code
Upvotes: 0
Reputation: 21989
The WPF Theme for Aero is located in the PresentationFramework.Aero
library, so add that as a reference. Then, in your App.xaml
add the following merged dictionary to override the default theme.
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml" />
</ResourceDictionary.MergedDictionaries>
I'm pleasantly surprised that they've finally updated WPF in .NET 4.5 to support Windows 8/10 themeing (they didn't at the start of Windows 8) with the following:
PresentationFramework.Aero2
PresentationFramework.AeroLite
Haven't seen it before today, need to work with .NET 4.5 more often ;)
Upvotes: 8