Ma, amikor egy korábban Win8 alatt írt WPF programot használtam, azt tapasztaltam, hogy a Win8 effektek most már támogatottak (ne feledjük, hogy a .NET 4.0 korábbi verziója nem volt támogatott). Mivel a WPF irányítása önállóan rajzolt és nem a rendszer téma vezérli, azaz a .NET 4.5 Win8 témastílusú fájlokat tartalmaz, és logikus, hogy ez a stílus Win7 alatt is használható.
Én beírtam . A Net 4.5 által támogatott több témaútvonal az alábbiak szerint található:
Win8(AeroLite): /PresentationFramework.AeroLite, verzió=4.0.0.0, Culture=semleges, 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 Megjegyzés: Én a . Net 4.5 stílusú fájlút, mások. A Net verzió útvonala kicsit eltérhet, de gyakorlatilag akkor jön elő, amikor ILSpy-val látod.
Ezekkel a stílusútokkal a globális stílust az indításkor alkalmazhatod, hogy megjelenítsd a Win8 AeroLite effektjét a Win7-ben:
- 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);
- }
Kód másolása
|