WP8 換膚功能的實現

2021-09-06 17:12:30 字數 3223 閱讀 8598

1、修改顏色畫刷

在修改原有的畫刷(phoneaccentbrush,phoneforegroundbrush,phonebackgroundbrush等等)

這裡是系統預設的畫刷

例如:把主題色改為紅色

//

把主題色改為紅色(由於solidcolorbrush的color是依賴屬性,所以該修改可以通知到所有繫結該畫刷的brush)

phoneaccentbrush

"]).color =colors.red;

//注意:resourcedictionary沒有為setter提供實現,所以不能通過下面方式對resources進行修改,會丟擲notimplementedexception異常

//

2、修改(新增)畫刷

//

構造bitmapimage

看完修改資源畫刷的方法,下面我們封裝乙個thememanager對主題進行管理

本來打算使用xml檔案來儲存主題顏色和資訊(qq貌似用xml儲存的),但是xml對顏色和路徑沒有智慧型感知,所以在定義畫刷顏色的時候不夠直觀,在純文字的xml中寫容易出錯,所以下面使用xaml來定義資源檔案,wp上的系統主題資源也是使用xaml檔案定義的,vs對xaml檔案有很好的支援,下面定義兩個主題檔案(dayresource.xaml, nightresource.xml)

接下來我們在thememanager載入主題資源

///

///主題管理器

///public

class

thememanager

", path), urikind.relative));

//應用樣式(只有顏色和color和bitmapimage)

foreach (dictionaryentry kv in

resourcedictionary)

else

if (kv.value is

bitmapimage)

else

); }}}

}}

下面是效果圖(背景圖拿qq的)

如果需要新增其他主題,直接編寫resource.xaml即可,在需要應用的時候傳主題路徑

附上demo:

WP8 富文字功能實現

walsh 提供的問題文字,表情,超連結wp上沒有提供對富文字的直接編輯,富文字是通過字串進行轉換的,例如 qq上的表情用斜槓標識 例如 哈哈 微博上的表情用中括號標識 例如 兔子 在msdn看到richtextbox支援乙個xaml的屬性,可以直接構造xaml字串,賦給richtextbox,但是...

建立WP8試用應用

windows phone 7 開發 31 日談 第23日 提供試用版應用程式 對資料總結下 如何檢查應用中的試用許可證 using microsoft.phone.marketplace private static licenseinformation licenseinfo new licen...

WP8下實現刮刮樂 橡皮擦 功能

說到刮刮樂這個功能,我們最先想到的是上下兩張 長方形 重疊,之後對上面這張進行操作。我的想法是 通過手勢,讓手指劃過的地方變成透明的,底部就會顯示了。那如何讓變為透明呢?這就要對的畫素進行處理了。對於每乙個元素,官方文件說都是argb32 預乘rgb24 a指的是alpha通道 控制透明度的 256...