Σήμερα, όταν χρησιμοποίησα ένα πρόγραμμα WPF που έγραψα πριν στο Win8, διαπίστωσα ότι τα εφέ Win8 υποστηρίζονται πλέον (θυμηθείτε ότι η προηγούμενη έκδοση του .NET 4.0 δεν υποστηρίζεται). Δεδομένου ότι τα στοιχεία ελέγχου του WPF είναι αυτοσχεδιασμένα και δεν ελέγχονται από το θέμα του συστήματος, δηλαδή, το .NET 4.5 συνοδεύεται από αρχεία στυλ θέματος Win8 και είναι λογικό ότι αυτό το στυλ μπορεί επίσης να χρησιμοποιηθεί στο Win7.
Βάζω . Διάφορες θεματικές διαδρομές που υποστηρίζονται στο Net 4.5 εξάγονται ως εξής:
Win8(AeroLite): /PresentationFramework.AeroLite, Έκδοση=4.0.0.0, Πολιτισμός=ουδέτερος, PublicKeyToken=31bf3856ad364e35; συστατικό/θέματα/aerolite.normalcolor.xaml Win7 (Aero): /PresentationFramework.Aero, Έκδοση=4.0.0.0, Πολιτισμός=ουδέτερο, PublicKeyToken=31bf3856ad364e35; συστατικό/θέματα/aero.normalcolor.xaml WinXP Royale: /PresentationFramework.Royale, έκδοση=4.0.0.0, πολιτισμός=ουδέτερος, PublicKeyToken=31bf3856ad364e35; συστατικό/θέματα/royale.normalcolor.xaml WinXP Blue (Luna): /PresentationFramework.Luna, έκδοση=4.0.0.0, culture=neutral, PublicKeyToken=31bf3856ad364e35; συστατικό/θέματα/luna.normalcolor.xaml WinXP Silver (Luna): /PresentationFramework.Luna, Έκδοση=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; συστατικό/θέματα/luna.metallic.xaml WinXP Luna: /PresentationFramework.Luna, Έκδοση=4.0.0.0, Πολιτισμός=ουδέτερο, PublicKeyToken=31bf3856ad364e35; συστατικό/θέματα /luna.homestead.xaml Win98(Κλασικό): /PresentationFramework. Κλασικό, Έκδοση=4.0.0.0, Πολιτισμός=ουδέτερο, PublicKeyToken=31bf3856ad364e35; συστατικό/θέματα /classic.xaml Σημείωση: Παίρνω το αρχείο . Net 4.5 style file path, άλλα. Η διαδρομή της έκδοσης Net μπορεί να είναι ελαφρώς διαφορετική, αλλά βασικά βγαίνει όταν χρησιμοποιείτε το ILSpy για να τη δείτε.
Με αυτές τις διαδρομές στυλ, μπορείτε να εφαρμόσετε το καθολικό στυλ κατά την εκκίνηση για να αποδώσετε το εφέ AeroLite του Win8 στο 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);
- }
Αντιγραφή κώδικα
|