Сегодня, когда я использовал программу WPF, которую писал ранее под Win8, я обнаружил, что теперь поддерживаются эффекты Win8 (помните, что предыдущая версия .NET 4.0 не поддерживалась). Поскольку управление WPF самонарисовано и не управляется системной тематикой, то есть .NET 4.5 поставляется с файлами стиля Win8, и логично, что этот стиль можно использовать и в Win7.
Я поставил . Несколько путей тем, поддерживаемых в сети 4.5, извлекаются следующим образом:
Win8(AeroLite): /PresentationFramework.AeroLite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/aerolite.normalcolor.xaml Win7 (Aero): /PresentationFramework.Aero, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/aero.normalcolor.xaml WinXP Royale: /PresentationFramework.Royale, version=4.0.0.0, culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/royale.normalcolor.xaml WinXP Blue (Luna): /PresentationFramework.Luna, version=4.0.0.0, culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/luna.normalcolor.xaml WinXP Silver (Luna): /PresentationFramework.Luna, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/luna.metallic.xaml WinXP Luna: /PresentationFramework.Luna, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes /luna.homestead.xaml Win98(Classic): /PresentationFramework. Classic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes /classic.xaml Примечание: я сдаю . Путь к файлу в стиле net 4.5 и другие. Путь в версии Net может быть немного другим, но он в целом проявляется, когда вы используете ILSpy для просмотра.
С помощью этих стилевых путей вы можете применить глобальный стиль при запуске, чтобы отобразить эффект AeroLite в Win7:
- protected override void OnStartup(StartupEventArgs e)
- {
- var uri = new Uri("/PresentationFramework.AeroLite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35;component/themes/AeroLite.NormalColor.xaml", UriKind.Relative);
- App.Current.Resources.Source = uri;
- base.OnStartup(e);
- }
Копирование кода
|