zoukankan      html  css  js  c++  java
  • Windows Phone 修改系统定义的资源颜色

    【问题的背景】

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

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

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

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

       

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

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

       

    【解决办法】

       

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

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

       

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

       

       

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

       

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

     

       

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

  • 相关阅读:
    相对定位和绝对定位
    一切重新开始
    Oracle Profile 使用
    使用javamail发送邮件错误:550 5.7.1 Unable to relay
    gvim 备份文件去除 配置
    解决Maven中OutOfMemory错误
    sqlplus启动后的环境SQLPATH的设置
    ORA-30004 错误处理
    oracle 锁表查询及解决、表字段查询
    如何进行软件架构设计
  • 原文地址:https://www.cnblogs.com/tianhonghui/p/3373276.html
Copyright © 2011-2022 走看看