如果你的WP应用已经使用了Sterling数据库,那就顺便用Sterling实现墓碑化(Tombtsone)吧。Jeremy Likness的blog详细说明了如何在MVVM架构中使用Sterling实现Tombstone。主要有几点:
1. 定义一个Tombstone数据类。其中用到了Sterling User Guide中提到的Singletone Serialization
2. 定义一个ITombstoneable接口。其中有Active与Deactive方法,分别于view的NavigatedTo方法,NavigatedFrom方法中调用。
在Deactive方法中保存Tombstone数据类到数据库,在Active方法中取出Tombstone数据, 用于恢复view model的状态。
3. 在需要Tombstone的view model上实现该接口
很多情况下,View Model需要View Loaded之后才可工作,Jeremy使用了一个匿名事件处理在Loaded之后执行Active方法。
此外,Sterling目前还不支持IList的序列化,Active之后会发现该集合的项目均为null,讨论组中提到了这个问题,可用List代替而解决。

本文详细介绍了如何在MVVM架构中利用Sterling库实现墓碑化(Tombstone)功能,包括定义Tombstone数据类、实现ITombstoneable接口、以及Active和Deactive方法的使用,确保应用状态在视图导航时的持久性和恢复。
894

被折叠的 条评论
为什么被折叠?



