我正在用C#编写一个Visual Studio扩展,希望根据一天中的时间改变颜色主题(日落之后将应用黑暗主题 - 在日出时,将根据用户偏好应用蓝色/浅色主题).
我可以使用对象WriteableSettingsStore曝光来更改颜色主题ShellSettingsManager.当我执行以下代码时,重新启动Visual Studio后主题更改.
var settingsManager = new ShellSettingsManager(this);
var writeableUserStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
writeableUserStore.SetString("General", "CurrentTheme", GuidList.guidDarkTheme);
Run Code Online (Sandbox Code Playgroud)
我宁愿是自动具有主题更新-我已经试过利用的UpdateWindow和RedrawWindow在USER32 API的功能,但窗口不重装.
所以问题是 - 在更改注册表中的CurrentTheme属性后,如何"重绘"Visual Studio?