直接入题!

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. CentOS(七)--Linux文件类型及目录配置

    这篇随笔将会对Linux系统的文件类型以及Linux的目录结构进行详细补充(linux中目录管理和权限非常重要,特别是在linux安装数据库类软件). 一.Linux更改文件权限的两种方式 在之前的一 ...

  2. C&python文件读写效率

    不同缓冲区读写文件的效率比较 环境:CentOS6.3/ext3/ 读取文件大小:100000000B BUFSIZE TIMECOST 1 real 0m38.909s user 0m5.960s  ...

  3. 运用CMD命令关于快速获取文件夹名称和快速建立文件夹

    前些天头儿让我建立一本本的文件夹,让后交给我了几个命令,快速获取文件夹的名称和快速建立文件夹,省去了一个个的按F2,一个个的复制,粘贴,一个个的新建,再复制粘贴. 首先讲一下第一个问题,快速获取文件夹 ...

  4. VS操作Sqlite数据库

    如果你下载的Sqlite是不带bundle的版本,那还要把这个SQLite.Interop.dll复制到debug执行文件夹下才能执行.

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

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

  6. CXF(2.7.10) - WSDL2Java generated Client

    以调用 http://www.webxml.com.cn/ 提供的 IpAddressSearchWebService 服务为例. 1. 使用 wsdl2java 工具,根据 wsdl 生成 JAX- ...

  7. C语言sprintf与sscanf函数[总结]

    sprintf函数 sprintf函数原型为 int sprintf(char *str, const char *format, ...).作用是格式化字符串,具体功能如下所示: (1)将数字变量转 ...

  8. android手机操作SD的使用方法

    写入SD卡 package com.example.openfileproject; import java.io.File; import java.io.FileInputStream; impo ...

  9. AjaxPro使用方法

    无意中看到同事用AjaxPro用,看到很不错,特长是前后台传输数据特别方便. 最好的教材就是拿到就可以用,方便大家. 以前数据传输用FORM提交,或者在前台用JASON拼接然后通过AJAX方式提交.总 ...

  10. 过程式编程 drawShapes

    // // main.m // 3.2.1 过程式编程 #import <Foundation/Foundation.h> typedef enum { kCircle, kRectang ...