我使用Windows.UI.ViewManagement.UISettings获取系统重音颜色,但是这个类似乎没有任何方法或属性用于光/暗模式。我未能找到用于此功能的文档,如何检测此功能?
PS:我正在制作一个JS应用程序,它不能访问Windows.UI.Xaml命名空间。
发布于 2017-01-20 12:02:39
我找到了一个更简单的解决方案,它应该也可以在JavaScript应用程序中工作,而不需要Windows组件-- 班级
var uiSettings = new Windows.UI.ViewManagement.UISettings();
var color = uiSettings.getColorValue(
Windows.UI.ViewManagement.UIColorType.background
);您得到的颜色要么是黑色表示暗主题,要么是白色表示灯光主题。
这个类还有非常有用的事件ColorValuesChanged,您可以将它用于在运行时观察主题更改。
发布于 2016-08-12 12:03:57
您可以在解决方案中创建Windows组件项目,从那里访问Windows.UI.Xaml命名空间。添加一个像这样检查当前ApplicationTheme的方法。
public sealed class Test
{
public static string CurrentTheme()
{
var isDark = Application.Current.RequestedTheme == ApplicationTheme.Dark;
if (isDark)
return "Dark";
return "Light";
}
}在您的javascript应用程序项目中添加对windows运行时组件项目的引用,您可以在任何想检查应用程序主题的地方调用此方法。查看有关创建Windows组件的演练的这里。
发布于 2019-10-21 22:13:20
对于Windows 10,注册表的path HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize中的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize属性的值指定Windows处于暗模式或光模式的位置。
https://stackoverflow.com/questions/38734615
复制相似问题