1

通常、アプリが非アクティブ化されたときに State ディクショナリにviewModel追加し、アプリが再アクティブ化される前にフレームワークがデフォルトのコンストラクターを必要とする を逆シリアル化することを考えると、廃棄後に依存関係を設定/注入するための推奨される方法は何ですか?ViewModelViewModel

以下のクラスがある場合、依存性注入で「MyVM」のインスタンスを作成し、IServiceA と IServiceB の依存性を注入したいと考えています。デフォルトのコンストラクターがあると、必要な依存関係が設定されません。

public class MyVM(IServiceA svca,IServiceB svcB)
{

}

ここで、廃棄シナリオで ViewModel をどのように設定する必要がありますか?

4

1 に答える 1

0

特定の MVVM フレームワークを使用しているかどうかはわかりませんが、Caliburn Micro にはトゥームストーン用の機能が組み込まれています。

ドキュメントからの小さなスニペット:

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

この例では、PiveotPageViewModel のプロパティである ActiveItemIndex を電話の状態で保存していますが、オブジェクト グラフ全体を PhoneState、AppSettings、または独自のカスタム実装に保存することもできます。StorageHandler から継承することで、これらすべてを取得できます。CM を使用すると、サービスの再注入について心配する必要はありません。独自の組み込みコンテナーがあるため、それが処理されます。

CM WP7 ドキュメント

WP7 アプリの構築に関する最近のHanselmanの投稿で、彼はTombstoneHelperについて少し話しました。私はこれを使用していませんが、面白そうです。

于 2012-02-04T05:02:53.173 に答える