gpt4 book ai didi

windows-phone-8.1 - 如何以编程方式检查 Windows Phone 8.1 中当前设置的主题?

转载 作者:行者123 更新时间:2023-12-04 07:41:59 25 4
gpt4 key购买 nike

我想检查用户是否设置了浅色或深色主题。是否可以在 Windows Phone 8.1(商店应用程序)中以编程方式执行此操作。

最佳答案

这里在 MSDN您将找到示例代码,可用于确定当前主题 - 通过比较资源。例如:

private bool IsDarkTheme()
{ return (double)Application.Current.Resources["PhoneDarkThemeOpacity"] > 0; }

但是 - 我在 WP8.1 运行时运行上述行时遇到了一些问题 - 它找不到请求的 key 。事实证明 - 上面的代码可以工作 only on WP8.1 Silverlight (also WP8.0) .

但是(再次),没有什么可以阻挡您的道路 to define your own ThemeResource并检查它的状态:

在 app.xaml 中 - 定义一些 ThemeResources:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<x:Boolean x:Key="IsDarkTheme">false</x:Boolean>
</ResourceDictionary>
<ResourceDictionary x:Key="Dark">
<x:Boolean x:Key="IsDarkTheme">true</x:Boolean>
</ResourceDictionary>
<ResourceDictionary x:Key="Default">
<x:Boolean x:Key="IsDarkTheme">false</x:Boolean>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>

然后您可以在代码中使用例如一个属性:
public bool IsDarkTheme { get { return (bool)Application.Current.Resources["IsDarkTheme"]; } }

另请注意,在某些情况下,您可能需要检查 HighContrast - 根据 MSDN ,您可以通过查看 AccessibilitySettings class 来实现或通过 HighContrast 值扩展您自己创建的 ThemeResource。

关于windows-phone-8.1 - 如何以编程方式检查 Windows Phone 8.1 中当前设置的主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24845391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com