我正在C#中編寫Visual Studio擴展,希望根據一天中的時間更改顏色主題(日落之後,將應用黑暗主題 - 日出時藍色/淡色主題將根據用戶偏好進行應用)。在Visual Studio擴展中更改「顏色主題」
我可以使用ShellSettingsManager
對象公開的WriteableSettingsStore
更改顏色主題。當我執行下面的代碼時,主題在重新啓動Visual Studio後發生變化。
var settingsManager = new ShellSettingsManager(this);
var writeableUserStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
writeableUserStore.SetString("General", "CurrentTheme", GuidList.guidDarkTheme);
我寧願什麼是自動具有主題更新 - 我已經試過利用的USER32 API的UpdateWindow
和RedrawWindow
功能,但窗口不重裝。
所以問題是 - 如何在更改註冊表中的CurrentTheme屬性後「重繪」Visual Studio?
剛剛在VS 2017中重試,結果相同。 –
@ErwinMayer感謝您的更新。 –