在WP7 Silverlight應用程式中,要怎麼去偵測目前的主題是黑色或是白色的呢?

最近在自個瞎搞一個簡單的Rss Reader,從網路上把資料抓下來之後,在RSS的資料中,本身會帶有文章的摘要,而這個摘要的部分基本上就是HTML了,想了一些解析方式,最後根據科技始終來自於人性的最高指導原則,顯示的部分就直接餵給webbrowser來顯示了 XDD(我真是懶阿);而在實作的過程中,由於預設WP7是黑色的背景,直接叫webbrowser出來之後會白白一片,說實在挺難看的,所以就偷偷的在HTML裡面加上背景跟文字的顏色,讓顯示出來的背景變成黑的,不過問題來了;在WP7中,白色與黑色的主題是隨時都都可變更的,所以也不能固定一種顏色,那麼就必須要知道目前的主題顏色了,後來在論壇中看到這篇文章

最近在自個瞎搞一個簡單的Rss Reader,從網路上把資料抓下來之後,在RSS的資料中,本身會帶有文章的摘要,而這個摘要的部分基本上就是HTML了,想了一些解析方式,最後根據科技始終來自於人性的最高指導原則,顯示的部分就直接餵給webbrowser來顯示了 XDD(我真是懶阿);而在實作的過程中,由於預設WP7是黑色的背景,直接叫webbrowser出來之後會白白一片,說實在挺難看的,所以就偷偷的在HTML裡面加上背景跟文字的顏色,讓顯示出來的背景變成黑的,不過問題來了;在WP7中,白色與黑色的主題是隨時都都可變更的,所以也不能固定一種顏色,那麼就必須要知道目前的主題顏色了,後來在論壇中看到這篇文章,裡面有相當棒的解答,大家可以參考看看,這邊也略為做個筆記,可以利用下面的方式來偵測
//ref:http://forums.create.msdn.com/forums/p/64067/392241.aspx#392241
        private bool IsLightTheme()
        {
            var visibility = (Visibility)Application.Current.Resources["PhoneLightThemeVisibility"];
            return (visibility == Visibility.Visible) ? true : false;
        } 

範例的效果可以參考下面影片