原文:UWP中String类型如何转换为Windows.UI.Color

我在学习过程中遇到的,我保存主题色为string,但在我想让StatusBar随着主题色变化时发现没法使用。

1 ThemeColorHelper tc = new ThemeColorHelper();
2 StatusBar statusbar = StatusBar.GetForCurrentView();
3 statusbar.BackgroundColor = (Color)tc.ThemeColor;
4 statusbar.BackgroundOpacity = 1;
5 statusbar.ForegroundColor = Colors.Black;

这样一运行就会报错,

苦恼了很久都没有解决,最后求助大神说通过创建Dictionary来解决。

 1  if (ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
2 {
3 Dictionary<string, Color> color = new Dictionary<string, Color>()
4 {
5 ["SkyBlue"] = Colors.SkyBlue,
6 ["Pink"] = Colors.Pink,
7 ["LightGreen"] = Colors.LightGreen
8 };
9 ThemeColorHelper tc = new ThemeColorHelper();
10 StatusBar statusbar = StatusBar.GetForCurrentView();
11 statusbar.BackgroundColor = color[tc.ThemeColor.ToString()];
12 statusbar.BackgroundOpacity = 1;
13 statusbar.ForegroundColor = Colors.Black;
14 }

这样有点麻烦,所以大神有说了另一种方法。

 if(ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
{
ThemeColorHelper tc = new ThemeColorHelper();
Color color = (Color)typeof(Colors).GetProperty(tc.ThemeColor.ToString()).GetValue(this);
StatusBar statusbar = StatusBar.GetForCurrentView();
statusbar.BackgroundColor = color;
statusbar.BackgroundOpacity = 1;
statusbar.ForegroundColor = Colors.Black;
}

完美解决。但需要注意这个需要引用 using System.Reflection;并且必须使用colors里面有的颜色。否则会报错。

UWP中String类型如何转换为Windows.UI.Color的更多相关文章

  1. springMvc把client传过来一个String类型,转换为日期类型为例

    springMvc--接受日期类型参数处理   目录 步骤 2.自定义类型转换规则 3.注册自定义的类型转换类 4.地址栏访问 这个问题,也即是springMvc如何进行参数类型的转换 , 以把cli ...

  2. Java中String类型细节

    Java中String类型细节 一 . String两种初始化方式 1 . String str1= “abc”;//String类特有的创建字符对象的方式,更高效 在字符串缓冲区中检测”abc”是否 ...

  3. WPF System.InvalidCastException: 无法将类型为“System.Windows.Media.Color”的对象强制转换为类型“System.Windows.Media.Brush”。

    场景:添加ComboBox样式,界面卡死,日志异常文件如下: -- ::, | ERROR | System.InvalidCastException: 无法将类型为“System.Windows.M ...

  4. Java中String类型详解

    这篇博客是我一直想总结的,这两天一直比较忙,先上传下照片吧,过后有时间再弄成正常的. 本文主要是对Java中String类型的总结,包括其在JVM中是怎么存储的...

  5. Redis 中 String 类型的内存开销比较大

    使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...

  6. go中string类型转换为基本数据类型的方法

    代码 // string类型转基本数据类型 package main import ( "fmt" "strconv" ) func main() { str1 ...

  7. Delphi中String类型原理介绍

    Delphi中字符串的操作很简单,但幕后情况却相当复杂.Pascal传统的字符串操作方法与Windows不同,Windows吸取了C语言的字符串操作方法.32位Delphi中增加了长字符串类型,该类型 ...

  8. C#中string类型是值类型还是引用类型?

    .Net框架程序设计(修订版)中有这样一段描述:String类型直接继承自Object,这使得它成为一个引用类型,也就是说线程上的堆栈上不会驻留有任何字符串. string类型(引用类型) 名称 CT ...

  9. 【转载】 Java中String类型的两种创建方式

    本文转载自 https://www.cnblogs.com/fguozhu/articles/2661055.html Java中String是一个特殊的包装类数据有两种创建形式: String s ...

随机推荐

  1. Springmvc+Shiro实战

    原文链接:http://blog.csdn.net/qq_37936542/article/details/79010449 springmvc+shiro实现系统粗细粒度的权限管理步骤: 1:表格设 ...

  2. 在nginx中使用lua直接訪问mysql和memcaced达到数据接口的统一

    安装nginx參见<nginx+lua+redis构建高并发应用> 让nginx 中的nginx_lua_module支持mysql 和memcache 下载 https://github ...

  3. c# 安全队列

    using System;using System.Collections.Concurrent;using System.Collections.Generic;using System.Linq; ...

  4. 【iOS】怎样推断文本文件的字符编码格式

    整体思路: 遍历全部的字符编码.能正确读取输出转换的就是文本文件的编码格式. 代码例如以下: // // main.m // 检測文本字符编码格式的小技巧 // // Created by 杜子兮 ( ...

  5. js获取计算后的样式表

    在编写html时,使用dom对象的style属性可以获取标签里的style属性,但是不能获取单独css样式文件或者style标签的属性值 <div style="width:10px& ...

  6. [UWP]使用Acrylic(亚克力)

    原文:[UWP]使用Acrylic(亚克力) 1. 前言 在 如何使用Fluent Design System 这篇文章里已经简单介绍过Reveal的用法,这篇再详细介绍其它内容. 自Windows ...

  7. 巧用redis位图存储亿级数据与访问 - 简书

    原文:巧用redis位图存储亿级数据与访问 - 简书 业务背景 现有一个业务需求,需要从一批很大的用户活跃数据(2亿+)中判断用户是否是活跃用户.由于此数据是基于用户的各种行为日志清洗才能得到,数据部 ...

  8. cordova 打包出错 Android SDK not found Android target: not installed

    原文:cordova 打包出错 Android SDK not found Android target: not installed 今天用cordova打包的时候报Android SDK not ...

  9. Effective C++ 条款23

    宁non-member.non-friend顶替member性能 本节介绍笔者为什么时间来实现某些功能.择非成员函数而且是非友元函数.这样做总结一句话,就是最大限度的实现类的封装性. 封装意味着不可见 ...

  10. 关于 Mesos,你知道多少?13 个问题带你深入了解 Mesos

    听过不少人在讨论 Mesos,然而并不是很明白 Mesos 到底能够解决什么问题,使用场景是怎样的,周伟涛(国内较早一批接触使用 Docker,Mesos 等技术的开发者)用一句话形容它, Mesos ...