Windows Phone 修改系统定义的资源颜色_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Windows Phone 修改系统定义的资源颜色

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

 2013/10/17 10:20:53  孤狼晖  博客园  我要评论(0)
  • 摘要:【问题的背景】相信有些经验的WP研发同学都会遇到下面的问题:系统控件以及WPToolkit中大量使用了PhoneAccentBrush这个画刷(这个画刷定义的是系统的强调色,即用户选择的主题颜色),以致为了满足UI设计的需求,为了一个色值而定义了不下100行的xaml代码,其中只有一行用来修改颜色。2、使用Textblock的时候忘记设定Foreground导致用户把主题切换到白色的时候,很多字看不清了。下面是摘自WPToolkit中控件模版的定义
  • 标签:Windows 资源

【问题的背景】

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

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

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

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

? ?

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

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

? ?

【解决办法】

? ?

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

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

? ?

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

? ?

? ?

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

? ?

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

?

? ?

关于WP的交流欢迎加入QQ群:182659848

上一篇: android侧滑效果,SlidingMenu配置 下一篇: 没有下一篇了!
发表评论
用户名: 匿名