博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Caliburn Micro 框架 WP8使用研究(三)墓碑处理
阅读量:5167 次
发布时间:2019-06-13

本文共 825 字,大约阅读时间需要 2 分钟。

背景

Windows Phone 8 开发过程中Tombstone的处理真是让我们又爱又恨,它能让程序看起来一直在运行。但处理墓碑却是个很麻烦的事情,传统的方式我们需要在程序Deactived事件触发后,将需要保存的状态放到State中,然后用户回来后再加载出来。而如果我们的程序采用MVVM架构,情况会更复杂,有多复杂相信每个人都有所体会。话不多说,让我们继续看CM框架中神奇的墓碑处理。

   

从简单的代码开始:

在测试页面,我们添加一个TextBox起名为Name:

   

然后在ViewModel中添加Name属性实现INPC接口。

   

只需如此,当用户输入信息到Textbox中,墓碑再回来,Textbox中的输入依然为墓碑前的内容。依然从问题来分析问题:

1、StorageHandler是做什么用的?

这个类便是处理墓碑的类,CM在程序启动时会反射出所有继承此类的类,然后进行处理,当程序Deactived之后,便会自动将配置的属性存入State中,而当程序再次启动时,会将此属性重新还原到ViewModel中

2、Property函数和InPhoneState函数?

这两个函数用来配置ViewModel中对应的哪个属性放入什么位置,例如上面代码中便将Name属性放到State中进行保存

3、只需要这些代码么?

我们要在Bootstrapper的Configure中调用RegisterPhoneServices,这个函数会注册用于墓碑处理的类,用于我们的操作。

   

总结

CM着实是个值得深入研究的一个类库,作者解决问题的思路很值得我们学习,而诸多实现方法也是我们学习语法的好地方。

而就使用而言,CM对WP系统提供的额外支持,使它成为WP APP MVVM架构的不二之选。

   

QQ交流群:182659848

转载于:https://www.cnblogs.com/tianhonghui/archive/2013/06/07/3124142.html

你可能感兴趣的文章
B/S和C/S架构的区别
查看>>
[Java] Java record
查看>>
jQuery - 控制元素显示、隐藏、切换、滑动的方法
查看>>
postgresql学习文档
查看>>
Struts2返回JSON数据的具体应用范例
查看>>
js深度克隆对象、数组
查看>>
socket阻塞与非阻塞,同步与异步
查看>>
团队工作第二天
查看>>
System类
查看>>
tableView
查看>>
Happy Great BG-卡精度
查看>>
Xamarin Visual Studio不识别JDK路径
查看>>
菜鸟“抄程序”之道
查看>>
Ubuntu下关闭防火墙
查看>>
TCP/IP 邮件的原理
查看>>
原型设计工具
查看>>
windows下的C++ socket服务器(4)
查看>>
css3 2d转换3d转换以及动画的知识点汇总
查看>>
【Java】使用Eclipse进行远程调试,Linux下开启远程调试
查看>>
对Vue为什么不支持IE8的解释之一
查看>>