2015-11-23 3 views
6

Я разрабатываю настольное приложение WPF, которое работает в среде Citrix, которая применяет основную тему Windows 7 к моему приложению. В результате я запускаю Windows 7 на своей рабочей станции dev, чтобы убедиться, что пользовательский интерфейс отображается так, как предполагалось.Аутентичная тема для Windows 7 в Windows 10?

Я хотел бы обновить его до Windows 10, однако мне нужно найти средство для запуска моего приложения с темой Windows 7 в Windows 10. Кстати (и странно), если я запустил приложение в Windows XP режим совместимости в Windows 10, он отображает с темой Windows 7, поэтому, конечно, ОС может отображать тему. Я не уверен, что хочу сделать все тестирование моего приложения с помощью режима совместимости . активирован, хотя ...

Я также осведомлен о сторонних решениях, но для исключения любых несоответствий мне хотелось бы для использования аутентичной темы Windows 7 от Microsoft.

Есть ли какие-либо трюки/трюки/хаки, чтобы просто включить тему Windows 7 для моего приложения в Windows 10?

ответ

7

Тема WPF для Aero находится в библиотеке PresentationFramework.Aero, поэтому добавьте это как ссылку. Затем в вашем App.xaml добавьте следующий объединенный словарь, чтобы переопределить тему по умолчанию.

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

Я приятно удивлен тем, что они, наконец, обновленный WPF в .NET 4.5 для поддержки Windows, 8/10 themeing (они не в начале Windows 8) следующим:

  • PresentationFramework.Aero2
  • PresentationFramework.AeroLite

не видел его до сегодняшнего дня, нужно работать с .NET 4.5 чаще;)

+0

Это действительно приятное решение. Однако у меня есть некоторые устаревшие экраны WinForms, которые я размещаю через interop, на которые не влияет тема WPF. Я действительно хочу решение, в котором Windows применяет тему Windows 7 для всего процесса. –

+0

@ TormodFjeldskår К сожалению, элементы управления WPF являются самозваными, всегда. Windows Forms, как вы знаете, полностью родной. Единственное, о чем я мог подумать, это все, что угодно, это некоторые настройки совместимости, но это не очень практично. –