直接入題!
Win8.1和WP8.1眼下已經漸漸融為一體,WP8.1不斷向Win8.1靠攏,雖然一些方法上WP8.1和Win8.1不同(ps:WP8.1和Win8.1的不同之處),但大部分還是相同的。
為了方便能夠在WP8.1和Win8.1調用同樣的方法,減少不必要的麻煩,現將我個人總結的一些簡單的方法封裝一下。代碼很簡單,不妥之處,還請各路大神多多指教~
Windows.Andy.Code4App.dll項目工程結構如下:

一、Extension:
1、CommandEx:
主要是使用依賴屬性實現控件任意方法都能使用MvvmLight的Command,實現View和后台代碼的進一步分離。
比如,對Grid的Tapped方法做下擴展。
用法如下:

對於CommandParameter可傳的參數包括字符串、某個控件的屬性值以及某個控件本身,寫法和MvvmLight自帶的CommandParameter一樣,大家都已經很熟悉了,這里就不多說了。
可以看到預留了DependencyPropertyEx,主要是對控件自身的一些屬性進行擴展,比如圖片的Source屬性,擴展一下可以使圖片顯示的時候隨機動畫什么的。這里還沒寫,下次擴展加入。
2、MessageDialogEx:
這里主要是對MessageDialog做擴展,參考了WinRTXamlToolkit,添加了ShowAsyncQueue和ShowAsyncIfPossible。主要解決的問題是當兩個MessageDialog同時要彈出的時候應用就會奔潰。不知道大家遇到沒,抑或大家怎么解決的?使用此擴展就可以避免此問題。大家還有什么好的方法可以交流交流。
用法如下:

(注意添加命名空間的引用:using Windows.Andy.Code4App.Extension;)
3、VisualTreeHelperEx:
這個大家很熟了,不多說。
用法如下:

二、SerializationAndDeserialization:
1、JsonConvert:
主要是對json進行序列化和反序列化,不多說,很簡單。
用法如下:
序列化

反序列化

一個自動生成json序列化反序列化數據model實體的網站:http://json2csharp.com/
一個格式化查看json字符串的網站:http://json.parser.online.fr/
2、XmlConvert:
主要是對Xml進行序列化和反序列化,不多說,很簡單。
用法如下:
序列化

反序列化

三、Store:
(Fixed表示永久存儲,應用只要不卸載就一直存在;Temporary表示臨時存儲,只要關掉應用數據就消失)
1、Fixed/JsonStore
這里的存儲主要是把Json序列化后的數據保存為一個個的文件存到LocalFolder文件夾下。同樣也可以從LocalFolder下讀取到指定的文件數據並反序列化出來。這個常用嗎?或許用多了就知道它的用處了。
用法如下:
序列化存儲

現在查看LocalFolder下文件,就出現了一個以“date.jk”命名的json方式序列化保存了當前時間文件。
反序列化讀取

2、Fixed/XmlStore:
主要是相對Json方法序列化存儲數據,這里采用xml的方式來序列化存儲數據。
用法如下:
序列化存儲

現在查看LocalFolder下文件,就出現了一個以“date.xk”命名的json方式序列化保存了當前時間文件。
反序列化讀取

3、Fixed/SettingdStore:
這里主要使用了系統的ApplicationData的LocalSettings來序列化存儲和反序列化存儲。
注意:此方法只能序列化一些基本的數據類型,例如DateTime類型就不能使用此方法,可以是使用JsonStore或XmlStore來替代。
用法如下:
序列化存儲

反序列化讀取

4、Temporary/DicStore:
這里主要是使用Dictionary來實現序列化存儲和反序列化存儲。Dictionary是臨時存儲,應用重啟數據就消失了。
用法如下:
序列化存儲

反序列化讀取

以上就是Windows.Andy.Code4App.dll @ver1.0.0的內容,功能太少,需要封裝的還有很多很多,后續再添加。
組件下載地址:因某家無底線的篡改抄襲已取消
