Tôi đang viết một phần mở rộng Visual Studio trong C# mà tôi hy vọng sẽ thay đổi chủ đề màu sắc tùy theo thời gian trong ngày (Sau khi mặt trời lặn, chủ đề tối sẽ được áp dụng - lúc mặt trời mọc chủ đề màu xanh/ánh sáng sẽ được áp dụng tùy thuộc vào tùy chọn của người dùng).Thay đổi "Chủ đề màu" trong một Visual Studio Extension
Tôi có thể thay đổi chủ đề màu bằng cách sử dụng WriteableSettingsStore
được phơi sáng bởi đối tượng ShellSettingsManager
. Khi tôi thực thi đoạn mã sau, chủ đề thay đổi sau khi khởi động lại Visual Studio.
var settingsManager = new ShellSettingsManager(this);
var writeableUserStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
writeableUserStore.SetString("General", "CurrentTheme", GuidList.guidDarkTheme);
Những gì tôi muốn là phải có bản cập nhật theme tự động - Tôi đã cố gắng tận dụng các UpdateWindow
và RedrawWindow
chức năng của API User32, nhưng cửa sổ không tải lại.
Vì vậy, câu hỏi là - Làm cách nào để "vẽ lại" Visual Studio sau khi thay đổi thuộc tính CurrentTheme trong sổ đăng ký?
Chỉ cần thử lại trong VS 2017, cùng một kết quả. –
@ErwinMayer Cảm ơn bạn đã cập nhật. –