Me lo segno qui perché è un piccolo trucchetto, ma potrebbe essere utile a chi usa WPF.
Nello sviluppo di applicazioni o di controlli può risultare utile vedere come l'aspetto di essi cambino in funzione del theme. Per la rete si trova qualche tip, ma sono finte soluzioni che caricano manualmente il ResourceDictionary a livello di Application e non funziona con i propri controlli.
Questo snippet, da usare solo a scopo di sviluppo, interferisce sulla effettiva scelta del theme da utilizzare:
public App() { //ForceTheme("Luna", "NormalColor"); //ForceTheme("Luna", "Homestead"); //ForceTheme("Luna", "Metallic"); //ForceTheme("Aero", "NormalColor"); //ForceTheme("Generic", ""); } private static void ForceTheme(string themeName, string themeColor) { // To force a particular style Type t = Type.GetType("MS.Win32.UxThemeWrapper, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"); FieldInfo themeNameField = t.GetField("_themeName", BindingFlags.NonPublic | BindingFlags.Static); themeNameField.SetValue(null, themeName); FieldInfo themeColorField = t.GetField("_themeColor", BindingFlags.NonPublic | BindingFlags.Static); themeColorField.SetValue(null, themeColor); }
Basta chiamare il metodo ForceTheme nel costruttore della propria applicazione di test.
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Visual Studio 11 beta: le novità di WPF 4.5, l'1 marzo 2012 alle 19:32
- Spettro audio con WPF, il 28 novembre 2007 alle 23:24
- Controllo WPF: AdvancedListBox, il 24 ottobre 2007 alle 19:24
- Multithreading WPF nel Binding, il 21 ottobre 2007 alle 23:40
- Com'è fatto il formato BAML di WPF?, il 12 settembre 2007 alle 21:31
- WPF attached properties + extension methods, il 10 giugno 2007 alle 22:12