直接入题!

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的内容,功能太少,需要封装的还有很多很多,后续再添加。

组件下载地址:因某家无底线的篡改抄袭已取消

Windows.Andy.Code4App.dll Win8.1/WP8.1通用类库@ver1.0.0的更多相关文章

  1. Windows.Andy.Code4App.dll Win8.1/WP8.1通用类库@ver1.0.1

    在上篇 Windows.Andy.Code4App.dll  Win8.1/WP8.1通用类库@ver1.0.0 已经对Win8.1和WP8.1部分扩展通用类库做了说明,这篇继续对通用类库做扩展.写的 ...

  2. 将Win8.1/WP8.1应用迁移到Universal Windows Platform

    在上一篇在VS2015 RC打开CTP中创建的工程,我们介绍了怎么在RC中打开CTP中创建的Universal 工程,这一篇我们来讲下怎么将Windows 8.1/WP8.1的应用迁移到Univers ...

  3. 解决“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件问题

    这些提示的问题完全没有必要去理会,因为一般情况下你点击本地windows调试,会报出这样问题很正常. 网上一些介绍什么要去选项卡栏勾选window连接器什么鬼,不建议用该方式,一旦你勾选那个方式虽然不 ...

  4. .net chart(图表)控件的使用-System.Windows.Forms.DataVisualization.dll

    这个案例指在介绍微软这套免费又功能强大的图表控件Microsoft Chart Controls for Microsoft .NET Framework 3.5,通过它,可让您的项目及报表,轻松套用 ...

  5. 启动C:\Windows\System32\logiLDA.DLL时出现问题,找不到指定模块

    环境:windows8.1专业版 问题:启动C:\Windows\System32\logiLDA.DLL时出现问题,找不到指定模块 每次开机都会弹出上图所示的信息. 经过查找是罗技鼠标驱动的问题:而 ...

  6. Delphi 缩放图像代码 - 支持PNG透明通道(利用了Windows的windowscodecs.dll)

    要求Delphi2007或者更高版本, 系统要求至少XP-SP2以上 实际上是利用了Windows的windowscodecs.dll这个文件的功能 在VCL里已经封装为TWICImage类 proc ...

  7. 错误:C:\Windows\System32\ssleay32.dll: Can't load IA 32-bit .dll on a AMD 64-bit

    错误:C:\Windows\System32\ssleay32.dll: Can't load IA 32-bit .dll on a AMD 64-bit 错误的原因是:jdk不是64位的,而是32 ...

  8. [转载]解析WINDOWS中的DLL文件---经典DLL解读

    [转载]解析WINDOWS中的DLL文件---经典DLL解读 在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库.现在就走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! ...

  9. Fix Windows 7 Msvcp71.dll And Msvcr71.dll Missing Error

    Fix Windows 7 Msvcp71.dll And Msvcr71.dll Missing Error Fix Msvcp71.dll And Msvcr71.dll Missing Erro ...

随机推荐

  1. poj 2723 2-SAT问题

    思路:二分枚举能开的门的数量,将每次枚举转换成2-SAT问题.这里存在的矛盾是假设有门上a,b两个锁,a锁对应于1号钥匙,而一号钥匙的配对是2号钥匙,b锁对应于3号钥匙,3号的配对是4号钥匙.那么2号 ...

  2. 只能在执行 Render() 的过程中调用 RegisterForEventValidation(RegisterForEventValidation can only be called during Render();

    只能在执行 Render() 的过程中调用 RegisterForEventValidation(RegisterForEventValidation can only be called durin ...

  3. css3 颜色记

    css3 颜色 opacity 使元素呈现出半透明效果. opacity:alphavalue || inherit alphavalue:默认值为1,可以取0~1任意浮点数.取值为1时,元素完全不透 ...

  4. html JS打印添加水印图片

    最后,听取了别人的意见,换了个思路.将水印图和需要打印的内容放在一个div里面, 给打印的div设置较高的层级,这样水印自然就在最下面了.下面贴上部分代码: html: <div class=& ...

  5. Unity3D 判断鼠标是否按在UGUI上

    判断鼠标是否点击在UGUI上 #if UNITY_ANDROID && !UNITY_EDITOR #define ANDROID #endif #if UNITY_IPHONE &a ...

  6. ScrollView 与ListView 滑动冲突完美解决

    一.介绍ListView高度的设置方法 二.根据实际需求解决冲突问题 一.介绍ListView高度的设置方法 在ScrollView中使用ListView,ListView的高度会不正常. 方式一:在 ...

  7. win10下怎么在桌面创建IIS快捷方式

    在电脑上打开C:\Windows\System32\inetsrv,在里面找到InetMgr.exe,如图 2 右击InetMgr.exe会发现没有发送到桌面的选项,所以我们选择创建快捷方式,如图 3 ...

  8. 免费主机kilu使用

    我也是看了这篇文章:http://www.cnblogs.com/tenny/archive/2011/03/30/1999957.html 采取申请注册. 主机申请地址:http://www.kil ...

  9. oralce 10g(10.2.0.1) 冷备份从64位恢复到32位

    环境描述:windows 2003 企业版 64位 oracle版本:oracle 10g 10.2.0.1 64位 冷备恢复到 windows XP oracle 10g 10.2.0.1 32位( ...

  10. 第九篇、Swift的基本使用

    1.访问权限 /* 1> internal : 内部的 1. 默认情况下所有的类&属性&方法的访问权限都是internal 2. 在本模块(项目/包/target)中可以访问 2 ...