Windows 系统强调色更改后如何更新 WinJS UWP 应用程序
How to update a WinJS UWP app after the Windows system accent color changes
我有 2 个变量,accentColor
和 backgroundColor
。当我将 Windows 设置从亮模式更改为暗模式时,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);
因此我无法更新 UI 来反映用户的选择。这是一个错误吗?有解决办法吗?
我正在检查 visibilitychanged 事件。
document.addEventListener("visibilitychange", onVisibilityChanged);
这发生在 Windows 10 Pro 1709 build 16299.309 但令人惊讶的是在 Windows 10 Mobile 上正常工作!
您可以检测到 UISettings 实例的 colorvalueschangedevent
处理程序中的强调色发生了变化。当您更改系统的主题主题颜色时,它会被触发。
var uiSettings = new Windows.UI.ViewManagement.UISettings();
uiSettings.addEventListener("colorvalueschanged", onColorChanged);
function onColorChanged() {
var accentColor = uiSettings.getColorValue(Windows.UI.ViewManagement.UIColorType.accent);
}
我有 2 个变量,accentColor
和 backgroundColor
。当我将 Windows 设置从亮模式更改为暗模式时,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);
因此我无法更新 UI 来反映用户的选择。这是一个错误吗?有解决办法吗?
我正在检查 visibilitychanged 事件。
document.addEventListener("visibilitychange", onVisibilityChanged);
这发生在 Windows 10 Pro 1709 build 16299.309 但令人惊讶的是在 Windows 10 Mobile 上正常工作!
您可以检测到 UISettings 实例的 colorvalueschangedevent
处理程序中的强调色发生了变化。当您更改系统的主题主题颜色时,它会被触发。
var uiSettings = new Windows.UI.ViewManagement.UISettings();
uiSettings.addEventListener("colorvalueschanged", onColorChanged);
function onColorChanged() {
var accentColor = uiSettings.getColorValue(Windows.UI.ViewManagement.UIColorType.accent);
}