我正在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感谢您的更新。 –