I dag, da jeg brukte et WPF-program jeg skrev tidligere under Win8, oppdaget jeg at Win8-effekter nå støttes (husk at den forrige versjonen av .NET 4.0 ikke ble støttet). Siden WPFs kontroller er selvtegnede og ikke styres av systemtemaet, det vil si at .NET 4.5 leveres med Win8-temafiler, og det er rimelig å anta at denne stilen også kan brukes under Win7.
Jeg satte . Flere emnebaner støttet under Net 4.5 er hentet ut som følger:
Win8(AeroLite): /PresentationFramework.AeroLite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; komponent/temaer/aerolite.normalcolor.xaml Win7 (Aero): /PresentationFramework.Aero, Version=4.0.0.0, Culture=nøytral, PublicKeyToken=31bf3856ad364e35; komponent/temaer/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; komponent/temaer /luna.homestead.xaml Win98(Classic): /PresentationFramework. Classic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; komponent/temaer /classic.xaml Merk: Jeg tar . Net 4.5-stil filsti, andre. Banen til Net-versjonen kan være litt annerledes, men den kommer egentlig frem når du bruker ILSpy for å se den.
Med disse stilstiene kan du bruke den globale stilen ved oppstart for å gjengi Win8s 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);
- }
Kopier koden
|