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

來源:互聯網
上載者:User

【問題的背景】

相信有些經驗的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/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.