Windows phone 7 依赖于服务的ViewModel+;墓碑

Windows phone 7 依赖于服务的ViewModel+;墓碑,windows-phone-7,viewmodel,tombstoning,Windows Phone 7,Viewmodel,Tombstoning,考虑到当应用程序停用时,您通常会将viewModel添加到状态字典中,然后在应用程序重新激活之前,框架会反序列化需要默认构造函数的viewModel,建议在逻辑删除后在viewModel中设置/注入依赖项的方法是什么 如果我有下面的类,我想让依赖项注入创建一个“MyVM”实例,注入IServiceA和IServiceB的依赖项。拥有默认构造函数不会设置所需的依赖项 public class MyVM(IServiceA svca,IServiceB svcB) { } 在这种情况下,View

考虑到当应用程序停用时,您通常会将
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();  
    }  
}  
公共类PivotPageModelStorage:StorageHandler{
public override void Configure(){
this.ActiveItemIndex()
.InPhoneState()
.RestoreAfterViewLoad();
}  
}  
该示例在phone状态下存储ActiveItemIndex(PiveotPageViewModel上的一个属性),但它也可以在PhoneState、AppSettings或您自己的自定义实现中存储整个对象图。所有这些都是通过从StorageHandler继承而来的。有了CM,您不必担心重新注入服务,它将为您处理这些问题,因为它有自己的内置容器

在最近一篇关于构建WP7应用程序的帖子中,他谈到了一点。我没用过这个,但它看起来很有趣