Ä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?