Caliburn Micro 框架 WP8使用研究(三)墓碑处理
2013-06-07 16:44
302 查看
背景
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
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
相关文章推荐
- Caliburn Micro 框架 WP8使用研究(二)页面导航
- Caliburn Micro 框架 WP8使用研究(一)简介
- IOS框架研究之SDWebImage的原理以及使用流程
- Android图片处理框架之Picasso学习使用
- [置顶] node.js express框架使用ES7实现优雅的异步处理
- kotlin---使用注释处理的 Android 框架
- 图片处理框架BitmapFun的原理及使用
- DBUtils 框架的中batch批处理使用
- 基于Metronic的Bootstrap开发框架经验总结(2)--列表分页处理和插件JSTree的使用
- ANDROID中使用开源框架FRESCO处理图片
- 使用netfilter框架处理ARP报文
- Caliburn.Micro框架
- Caliburn.Micro for wp7 学习笔记(1) : 建立 Caliburn.Micro 框架的 wp7 项目
- Adhesive框架系列文章--报警处理流程使用实践
- 【Question03】使用 Spring mvc 框架的时候如何处理乱码问题
- 使用Caliburn.Micro创建简单的WPF程序
- 使用Caliburn.Micro系列1:新建项目并引入CM
- Android图片处理框架之Glide学习使用
- 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。
- (6)理解事务处理、事务处理的隔离级别,和使用JDBC进行事务处理||抛弃框架,如何实现分层架构下JDBC事务的控制