Heute, als ich ein WPF-Programm benutzt habe, das ich zuvor unter Win8 geschrieben habe, stellte ich fest, dass Win8-Effekte jetzt unterstützt werden (denken Sie daran, dass die vorherige Version von .NET 4.0 nicht unterstützt wurde). Da die Steuerungen von WPF selbst gezeichnet sind und nicht vom Systemthema gesteuert werden, das heißt, .NET 4.5 enthält Win8-Theme-Style-Dateien, liegt es nahe, dass dieser Stil auch unter Win7 verwendet werden kann.
Ich habe . Mehrere unter Net 4.5 unterstützte Themenpfade werden wie folgt extrahiert:
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 Hinweis: Ich nehme die . Net-4.5-Stil Dateipfad, andere. Der Pfad der Net-Version mag etwas anders sein, aber im Grunde erscheint er, wenn man ILSpy nutzt, um es zu sehen.
Mit diesen Stilpfaden können Sie den globalen Stil beim Start anwenden, um den AeroLite-Effekt von Win8 in Win7 zu rendern:
- 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);
- }
Code kopieren
|