我有2个变量,accentColor
和backgroundColor
。当我将Windows设置从Light模式更改为Dark模式时,backgroundColor
按预期更新,但当我选择新的Windows重音颜色时,accentColor
不会更改。
var uiSettings = new Windows.UI.ViewManagement.UISettings(),
accentColor = uiSettings.getColorValue(Windows.UI.ViewManagement.UIColorType.accent),
backgroundColor = uiSettings.getColorValue(Windows.UI.ViewManagement.UIColorType.background);
因此我无法更新用户界面以反映用户的选择。这是一个错误吗?有工作吗?
我正在查看visibilitychanged事件。
document.addEventListener("visibilitychange", onVisibilityChanged);
这种情况发生在Windows 10 Pro 1709 build 16299.309上,但令人惊讶的是在Windows 10 Mobile上正常运行!
答案 0 :(得分:0)
您可以检测UISettings实例的colorvalueschangedevent
处理程序中更改的重音颜色。当你改变系统时#39;主题强调颜色,它将被解雇。
var uiSettings = new Windows.UI.ViewManagement.UISettings();
uiSettings.addEventListener("colorvalueschanged", onColorChanged);
function onColorChanged() {
var accentColor = uiSettings.getColorValue(Windows.UI.ViewManagement.UIColorType.accent);
}