2012-02-04 77 views
1

建议/注入逻辑后的viewModel依赖关系的建议方式是什么?假定应用停用时,通常会将ViewModel添加到状态字典中,然后在应用重新激活框架反序列化ViewModel它需要一个默认的构造函数?ViewModel依赖于服务+墓碑

如果我有下面的类,我想有依赖注入创建一个“MyVM”实例注入IServiceA和IServiceB的依赖关系。有一个默认的构造函数不会设置需要的依赖关系。

public class MyVM(IServiceA svca,IServiceB svcB) 
{ 

} 

如何在这里设置ViewModel在墓碑化场景中?

回答

0

我不知道你是否使用特定的MVVM框架,但Caliburn Micro有一些内置的墓碑功能。

从文档一个小片段:

public class PivotPageModelStorage : StorageHandler<PivotPageViewModel> { 
    public override void Configure() { 
     this.ActiveItemIndex() 
      .InPhoneState() 
      .RestoreAfterViewLoad(); 
    } 
} 

这个例子是存储ActiveItemIndex,上PiveotPageViewModel的属性,在手机状态,但它也可以存储整个对象图中PhoneState,AppSettings的,还是自己的自定义实现。你从StorageHandler继承了所有这一切。有了CM,您不必担心重新注入服务,它会为您处理,因为它拥有自己的内置容器。

CM WP7 Docs

在最近Hanselman一篇关于构建WP7应用程序,他讨论了一些TombstoneHelper。我没有用过这个,但看起来很有趣。