Astăzi, când am folosit un program WPF pe care l-am scris anterior sub Win8, am descoperit că efectele Win8 sunt acum suportate (amintește-ți că versiunea anterioară de .NET 4.0 nu era suportată). Deoarece controalele WPF sunt desenate singure și nu controlate de tema sistemului, adică .NET 4.5 vine cu fișiere de tip temă Win8, iar acest stil poate fi folosit și sub Win7.
Am pus . Mai multe căi tematice suportate sub Net 4.5 sunt extrase după cum urmează:
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, versiune=4.0.0.0, culture=neutru, PublicKeyToken=31bf3856ad364e35; component/themes/royale.normalcolor.xaml WinXP Blue (Luna): /PresentationFramework.Luna, versiune=4.0.0.0, culture=neutru, 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/teme /luna.homestead.xaml Win98 (Clasic): /PresentationFramework. Classic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; component/teme /classic.xaml Notă: Urmez examenul . Calea fișierului în stil Net 4.5, altele. Traiectoria versiunii Net poate fi puțin diferită, dar practic apare când folosești ILSpy pentru a o vedea.
Cu aceste căi de stil, poți aplica stilul global la pornire pentru a reda efectul AeroLite al Win8 în 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);
- }
Cod de copiere
|