zoukankan      html  css  js  c++  java
  • Caliburn Micro 框架 WP8使用研究(三)墓碑处理

    背景

    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

  • 相关阅读:
    Gerrit配置--用户配置
    repo+manifests+git方式管理安卓代码
    FLASH OTP
    Wireshark抓包分析TCP协议
    python 批量修改图片大小
    python 文件查找 glob
    python 统计单词个数
    python 图片上添加数字源代码
    python 删除文件和文件夹
    python 程序列表
  • 原文地址:https://www.cnblogs.com/tianhonghui/p/3124142.html
Copyright © 2011-2022 走看看