【问题的背景】

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

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

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

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

 
 

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

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

 
 

【解决办法】

 
 

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

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

 
 

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

 
 

 
 

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

 
 

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

 

 
 

最新文章

  1. Unable to create a constant value of type 'Closure type'
  2. 在VisualStudio中应该使用什么字体
  3. 数据库服务器的安装 (MySQL Server 5.7) :
  4. hdu 3681 Prison Break (TSP问题)
  5. HelloSpark.scala
  6. 表格细边框 并且CSS3加圆角
  7. SQL内外左右交叉连接
  8. WIN7 Net Configuration Assistant打不开
  9. sqlserver 常用函数(转)
  10. Python 学习笔记9 循环语句 For in
  11. DES加密算法—实现(C语言)
  12. ScrollView嵌套ListView、GridView,进入页面显示的位置并不是在最顶部,而是在中间部分问题
  13. 二十三、Linux 进程与信号---进程链和进程扇、守护进程和孤儿进程以及僵尸进程
  14. [转]sqlplus /nolog 出错解决 SP2-0667: Message file sp1<lang>.msb not found SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
  15. Linux 小知识翻译 - 「Linux」和病毒
  16. Page3:组合系统状态空间输入输出描述、矩阵指数函数性质[Linear System Theory]
  17. python3+requests:get/post请求
  18. 【PAT】1103 Integer Factorization(30 分)
  19. 学习笔记·堆优化$\mathscr{dijkstra}$
  20. NO.8:自学python之路------并行socket网络编程

热门文章

  1. 分布式系统漫谈一 —— Google三驾马车: GFS,mapreduce,Bigtable
  2. spring mvc--默认都使用了哪些bean
  3. JAVA学习目录
  4. 算法笔记_029:约瑟夫斯问题(Java)
  5. 在Jquery validation里验证通过后,自定义提交不同的action路径,适合一个窗口既可以作为添加对话框也可以作为编辑对话框
  6. Hibernate持久化对象的状态
  7. JDBC 调用存储过程代码示例
  8. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 理解三个SharePoint 部署模型 Apps
  9. mosquitto ---mosquitto-auth-plug
  10. mysql在linux7下systemd的相关配置