直接入题!
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的内容,功能太少,需要封装的还有很多很多,后续再添加。
组件下载地址:因某家无底线的篡改抄袭已取消