Windows Phone 修改系統定義的資源顏色

【問題的背景】 函數

相信有些經驗的WP研發同窗都會遇到下面的問題: spa

  1. 系統控件以及WPToolkit中大量使用了PhoneAccentBrush這個畫刷(這個畫刷定義的是系統的強調色,即用戶選擇的主題顏色),

    以至爲了知足UI設計的需求,爲了一個色值而定義了不下100行的xaml代碼,其中只有一行用來修改顏色。 設計

二、使用Textblock的時候忘記設定Foreground致使用戶把主題切換到白色的時候,不少字看不清了。 blog

   

下面是摘自WPToolkit中控件模版的定義: 資源

遇到這類的還算好改可是下面這樣的就能夠直接噴血了: it

   

【解決辦法】 基礎

   

以前筆者都是用blend編輯模版的copy來實現需求(華麗的展現了很好的Xaml基礎=。=),知道有一天忽然想到,咱們可否把系統這個資源改了呢…… 構造函數

筆者進行了幾種嘗試,最終用下面的代碼解決了這個問題: 程序

   

MainColor1和DefaulitForegroundColor是我定義在程序資源字典中的一個Color類型的資源: im

   

   

咱們只需把OverwriteSystemColor 放到App的構造函數最後面便可。

   

如此取巧的方式便偷天換日搬修改了系統定義的色值,省去了不少以前一直很麻煩的事情!

 

   

關於WP的交流歡迎加入QQ羣:182659848

相關文章
相關標籤/搜索