Idag, när jag använde ett WPF-program jag skrev tidigare under Win8, upptäckte jag att Win8-effekter nu stöds (kom ihåg att den tidigare versionen av .NET 4.0 inte stöddes). Eftersom WPF:s kontroller är självritade och inte styrs av systemtemat, det vill säga .NET 4.5 levereras med Win8-temastilfiler, och det är rimligt att anta att denna stil även kan användas under Win7.
Jag satte . Flera ämnesvägar som stöds under Net 4.5 extraheras enligt följande:
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, kultur=neutral, PublicKeyToken=31bf3856ad364e35; komponent/teman/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; komponent/teman/luna.metallic.xaml WinXP Luna: /PresentationFramework.Luna, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; komponent/teman /luna.homestead.xaml Win98(Classic): /PresentationFramework. Classic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; komponent/teman /classic.xaml Notera: Jag tar . Net 4.5-stil filsökväg, andra. Vägen för Net-versionen kan vara något annorlunda, men den kommer i princip fram när du använder ILSpy för att se den.
Med dessa stilvägar kan du applicera den globala stilen vid start för att rendera Win8:s AeroLite-effekt i 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);
- }
Kopiera koden
|