Sto scrivendo un'estensione Visual Studio in C# che spero cambierà il tema del colore in base all'ora del giorno (Dopo il tramonto verrà applicato il tema scuro - all'alba o il tema blu/chiaro verrà applicato in base alle preferenze dell'utente).Modifica "Tema colore" all'interno di un'estensione Visual Studio
Sono in grado di modificare il tema del colore utilizzando WriteableSettingsStore
esposto da un oggetto ShellSettingsManager
. Quando eseguo il seguente codice, il tema cambia dopo aver riavviato Visual Studio.
var settingsManager = new ShellSettingsManager(this);
var writeableUserStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
writeableUserStore.SetString("General", "CurrentTheme", GuidList.guidDarkTheme);
Quello che preferisco è quello di avere automaticamente l'aggiornamento tema - ho provato a fare uso dei UpdateWindow
e RedrawWindow
funzioni della API User32, ma la finestra non ricarica.
Quindi la domanda è: come si "ridisegna" Visual Studio dopo aver modificato la proprietà CurrentTheme nel Registro di sistema?
Appena ritentato in VS 2017, stessi risultati. –
@ErwinMayer Grazie per l'aggiornamento. –