Dnes, keď som použil WPF program, ktorý som predtým napísal pod Win8, zistil som, že Win8 efekty sú teraz podporované (pamätajte, že predchádzajúca verzia .NET 4.0 nebola podporovaná). Keďže ovládacie prvky WPF sú samostatne kreslené a nie sú riadené systémovou témou, .NET 4.5 obsahuje súbory štýlu témy Win8, a je logické, že tento štýl je možné použiť aj pod Win7.
Dám . Niekoľko tematických ciest podporovaných v Net 4.5 je extrahovaných nasledovne:
Win8(AeroLite): /PresentationFramework.AeroLite, verzia=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, verzia=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 Poznámka: Beriem . Net 4.5 štýl cesty k súboru, ďalšie. Cesta Net verzie môže byť trochu iná, ale v podstate sa zobrazí, keď ju vidíš cez ILSpy.
S týmito štýlovými cestami môžete globálny štýl aplikovať hneď pri štarte na renderovanie efektu AeroLite Win8 vo 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);
- }
Kopírovať kód
|