加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-phone-8.1 – 如何以编程方式检查Windows Phone 8.1中当

发布时间:2020-12-14 01:48:11 所属栏目:Windows 来源:网络整理
导读:我想检查用户是否设置了浅色或深色主题.是否可以在 Windows Phone 8.1(商店应用程序)中以编程方式执行此操作. 在 MSDN,您将找到示例代码,您可以使用它们来确定当前主题 – 通过比较资源.例如: private bool IsDarkTheme(){ return (double)Application.Curr
我想检查用户是否设置了浅色或深色主题.是否可以在 Windows Phone 8.1(商店应用程序)中以编程方式执行此操作.
在 MSDN,您将找到示例代码,您可以使用它们来确定当前主题 – 通过比较资源.例如:
private bool IsDarkTheme()
{ return (double)Application.Current.Resources["PhoneDarkThemeOpacity"] > 0; }

但是 – 我在WP8.1运行时遇到了运行上述行的一些问题 – 它无法找到所请求的密钥.事实证明 – 上面的代码将工作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来实现.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读