Bugün, daha önce Win8 altında yazdığım bir WPF programını kullandığımda, Win8 efektlerinin artık desteklendiğini fark ettim (önceki .NET 4.0 sürümünün desteklenmediğini unutmayın). WPF'nin kontrolleri kendi kendine çizildiği ve sistem teması tarafından kontrol edilmediği için, yani .NET 4.5 Win8 tema tarzı dosyalarla birlikte gelir ve bu tarzın Win7 altında da kullanılabileceği mantıklıdır.
Ben . Net 4.5 kapsamında desteklenen birkaç konu yolu aşağıdaki şekilde çıkarılmıştır:
Win8(AeroLite): /PresentationFramework.AeroLite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/themes/aerolite.normalcolor.xaml Win7 (Aero): /PresentationFramework.Aero, Sürüm=4.0.0.0, Kültür=Nötr, 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 Gümüş (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(Klasik): /PresentationFramework. Classic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; bileşen/temalar /classic.xaml Not: Ben . Net 4.5 tarzı dosya yolu, diğerleri. Net versiyonunun yolu biraz farklı olabilir, ama temelde ILSpy kullanıp onu gördüğünüzde ortaya çıkıyor.
Bu stil yollarıyla, Win8'in AeroLite etkisini Win7'de render etmek için global stili başlatmada uygulayabilirsiniz:
- 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);
- }
Kopya kodu
|