Windows Phone中如何修改系统定义的资源颜色

【问题的背景】

相信有些经验的WP研发同学都会遇到下面的问题:

系统控件以及WPToolkit中大量使用了PhoneAccentBrush这个画刷(这个画刷定义的是系统的强调色,即用户选择的主题颜色),

以致为了满足UI设计的需求,为了一个色值而定义了不下100行的xaml代码,其中只有一行用来修改颜色。

2、使用Textblock的时候忘记设定Foreground导致用户把主题切换到白色的时候,很多字看不清了。

下面是摘自WPToolkit中控件模版的定义:

遇到这类的还算好改但是下面这样的就可以直接喷血了:

【解决办法】

之前笔者都是用blend编辑模版的copy来实现需求(华丽的展示了很好的Xaml基础=。=),知道有一天突然想到,我们能否把系统这个资源改了呢……

笔者进行了几种尝试,最终用下面的代码解决了这个问题:

MainColor1和DefaulitForegroundColor是我定义在程序资源字典中的一个Color类型的资源:

我们只需把OverwriteSystemColor 放到App的构造函数最后面即可。

如此取巧的方式便偷天换日搬修改了系统定义的色值,省去了很多之前一直很麻烦的事情!

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/

时间: 2024-08-18 03:19:08

Windows Phone中如何修改系统定义的资源颜色的相关文章

jquery mobile中怎么修改文本框的边框颜色?

问题描述 jquery mobile中怎么修改文本框的边框颜色? jquery mobile中怎么修改文本框的边框颜色?求帮忙 解决方案 http://blog.csdn.net/sean1203/article/details/5087474 其实你对象选择器直接改也行的:$("#change").corner(""); $("#change").css(""); . . . 方法很多很灵活的,建议去看看w3school 采

在Windows 8中如何更改系统声音方案?

  1.系统桌面下同时按住键盘上 "Windows" 和 "X" 键打开系统菜单 ,在菜单里选择"控制面板".参见下图 2.在"控制面板"里面点击右上角的"查看方式",选择为"小图标",在"调整计算机的设置"下选择"声音".参见下图 3.弹出菜单里选择"声音"选项.参见下图 4.在"声音方案"里选择需要修改的

Windows 10中怎么创建系统还原点

1.在windows 10 桌中的 "这台电脑"然后右击点击"属性"菜单打开进入: 2.在属性窗口点击下面的"高级系统设置": 3.选择"系统保护"进入,如下图所示: 4.点击"创建"按钮: 5.输入还原点的描述,方便查看,点击"创建",等待创建成功即可. 好了到了这里系统还原点创建成功了,如果各位系统中毒了我们就可以直接使用test还原点还原你的系统了.

在Windows系列中的Linux系统下“Which”命令的使用方法介绍

在Linux下,有一个命令叫做which,它可以在Path中寻找某个命令所在的目录并显示出来. Linux下: [adam@i ase adam]$ which ls /bin/ls [adam@i ase adam]$ which rm /bin/rm 在NT的Resource Kit中有一个where.exe,它也有相同的功效,不过Resource Kit是收费的,在这里我们可以作一个批处理文件来实现这个功能. 使用记事本编辑一个which.bat,并将其存放在Wi t目录或者其他Path变

Windows 8 中如何创建系统修复介质

  操作步骤: 1. 传统界面下按住Win+x,选择控制面板; 2. 选择"恢复"; 3. 选择"创建恢复驱动器"; 4. 按照提示点击"下一步",使用U盘会导致数据被清空; 5. 等待数据写入并完成; 如果没有U盘,也可以使用光驱来创建恢复驱动器. 1. 选择光驱驱动器; 2. 确认空白光盘放入光驱后点击"创建光盘"; 3. 等候数据写入并完成; 4. 开机使用创建好的介质引导,并根据提示恢复系统.

如何在Windows Azure中使用Java相关技术

我们刚刚发布了一个新教程和示例代码,以阐述如何在Windows Azure中使用 Java 相关技术.在该指南中,我们提供了分步教程,说明如何将 Java Spring Framework 应用程序(PetClinic 示例应用程序)迁移到 Windows Azure 云.此文档附带的代码同样也发布在 GitHub 中.我们鼓励 Java 开发人员下载并探索此新示例和教程. Windows Azure 是一个开放的云平台,它支持各种编程语言和框架,包括 Microsoft .NET.Java.N

Android中Xposed框架篇---修改系统位置信息实现自身隐藏功能实例_Android

一.前言 本文主要来介绍一个实际案例就是如何通过这个框架来修改系统的地理位置信息来实现隐藏功能,在如今社交工具的发展特别是微信,他有一个实时位置共享功能,那么对于那些不是单身狗的同学来说可能会有些蛋疼,哪天媳妇要查岗发送位置,结果你不在她期望的位置这时候就尴尬了,而且朋友圈在分享内容的时候可以选择当前位置,有的屌丝就像我一样没钱但是又想到处旅游,那么这时候咋们就可以一本正经的装个逼了. 二.定位原理 看到上面说的那么多,感觉这个功能必须要搞起来了,好处太多了,下面咋们就开始操作了,但是在这之前一

ASP.NET中如何实现同一时间只有一人能够修改系统数据

asp.net|数据 有些特殊的系统中,要求同一时间,只能有一个人能够修改系统数据,这时其他人修改数据时,处于"锁"的状态,只有修改数据的人退出时其他人才可进行修改操作. 我们通过设置一个全局开关变量(Application),当第一个用户修改数据时,将该变量至为一个表示锁状态的值(例如LOCK),其他用户要修改数据前,检查是否能够修改,通常一下几种情况将该修改权释放(将变量置为UNLOCK)1.修改数据的用户退出系统2.修改数据的用户长时间不操作3.修改数据的用户关闭IE 第一种情况

CentOS系统中怎么修改默认SSH端口?

  CentOS系统中怎么修改默认SSH端口?          默认的centOS默认端口是22,时间久了你会找到很多日志文件,这是扫描攻击留下的错误日志.那么今天我们要做的就是改成只有自己知道的数字,这样降低了被扫描到的几率,也就等于提高了安全性. 1.登陆SSH修改配置文件,输入如下命令 vi /etc/ssh/sshd_config 会出现如下提示,大家能够看到#port 22,代表默认端口22.按下键盘的a,vi命令中a是编辑,你按下a之后进入编辑状态,这时候可以用键盘的上下键移动绿色