ViewModel依赖于服务+墓碑
问题描述:
建议/注入逻辑后的viewModel
依赖关系的建议方式是什么?假定应用停用时,通常会将ViewModel
添加到状态字典中,然后在应用重新激活框架反序列化ViewModel
它需要一个默认的构造函数?ViewModel依赖于服务+墓碑
如果我有下面的类,我想有依赖注入创建一个“MyVM”实例注入IServiceA和IServiceB的依赖关系。有一个默认的构造函数不会设置需要的依赖关系。
public class MyVM(IServiceA svca,IServiceB svcB)
{
}
如何在这里设置ViewModel在墓碑化场景中?
答
我不知道你是否使用特定的MVVM框架,但Caliburn Micro有一些内置的墓碑功能。
从文档一个小片段:
public class PivotPageModelStorage : StorageHandler<PivotPageViewModel> {
public override void Configure() {
this.ActiveItemIndex()
.InPhoneState()
.RestoreAfterViewLoad();
}
}
这个例子是存储ActiveItemIndex,上PiveotPageViewModel的属性,在手机状态,但它也可以存储整个对象图中PhoneState,AppSettings的,还是自己的自定义实现。你从StorageHandler继承了所有这一切。有了CM,您不必担心重新注入服务,它会为您处理,因为它拥有自己的内置容器。
在最近Hanselman一篇关于构建WP7应用程序,他讨论了一些TombstoneHelper。我没有用过这个,但看起来很有趣。