Danes, ko sem uporabil WPF program, ki sem ga prej napisal pod Win8, sem ugotovil, da so Win8 učinki zdaj podprti (spomnite se, da prejšnja različica .NET 4.0 ni bila podprta). Ker so WPF-jeve kontrole samorisane in jih ne nadzoruje sistemska tema, torej .NET 4.5 vsebuje datoteke sloga Win8 teme, zato je logično, da se ta slog lahko uporablja tudi v Win7.
Vpišem . Več tematskih poti, podprtih v Net 4.5, je izvlečenih na naslednji način:
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 Opomba: Opravljam . Net 4.5 stil datofilne poti, drugi. Pot spletne različice je morda nekoliko drugačna, a se v bistvu pojavi, ko jo vidiš z ILSpy.
S temi slogovnimi potmi lahko globalni slog uporabite ob zagonu za upodabljanje Win8 AeroLite učinka v 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);
- }
Kopiraj kodo
|