Ändern des „Farbdesigns“ in einer Visual Studio-Erweiterung

Ich schreibe eine Visual Studio-Erweiterung in C #, von der ich hoffe, dass sie das Farbthema je nach Tageszeit ändert. (Nach Sonnenuntergang wird das dunkle Thema angewendet. Bei Sonnenaufgang wird je nach Benutzer entweder das Blau- / Hell-Thema angewendet Präferenz).

Ich kann das Farbschema mit dem @ änderWriteableSettingsStore durch ein @ ausgesetShellSettingsManager Objekt. Wenn ich den folgenden Code ausführe, ändert sich das Thema nach dem Neustart von Visual Studio.

var settingsManager = new ShellSettingsManager(this);
var writeableUserStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);

writeableUserStore.SetString("General", "CurrentTheme", GuidList.guidDarkTheme);

Ich würde es vorziehen, wenn das Theme automatisch aktualisiert wird. Ich habe versucht, das @ zu verwendeUpdateWindow undRedrawWindow Funktionen der User32-API, aber das Fenster wird nicht neu geladen.

So ist die Frage - Wie "zeichne" ich Visual Studio neu, nachdem ich die CurrentTheme-Eigenschaft in der Registrierung geändert habe?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage