Dziś, gdy użyłem programu WPF, który wcześniej napisałem pod Win8, zauważyłem, że efekty Win8 są teraz obsługiwane (pamiętaj, że poprzednia wersja .NET 4.0 nie była wspierana). Ponieważ sterowanie WPF jest samodzielnie rysowane i nie jest kontrolowane przez motyw systemowy, to znaczy, .NET 4.5 zawiera pliki stylu motywu Win8, więc logiczne jest, że ten styl może być również używany w systemie Win7.
Wpisuję . Kilka ścieżek tematycznych obsługiwanych w Net 4.5 jest wyodrębnionych w następujący sposób:
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 Uwaga: Zdaję . Net 4.5 style path path, inne. Ścieżka wersji Net może być nieco inna, ale zasadniczo pojawia się, gdy używasz ILSpy, aby ją zobaczyć.
Dzięki tym ścieżkom stylowym możesz zastosować globalny styl przy starcie, aby wyrenderować efekt AeroLite Win8 w 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);
- }
Skopiuj kod
|