Tormod Fjeldskår
Tormod Fjeldskår

Reputation: 6002

Authentic Windows 7 Theme in Windows 10?

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

Answers (2)

user13101014
user13101014

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

Rudi Visser
Rudi Visser

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

Related Questions