2012-02-04 81 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。我沒有用過這個,但看起來很有趣。