0

ViewModelクラスのコンストラクターとして次のコードがあります。

    [ImportingConstructor]
    public ItemDefViewModel(IItemDefView view)
        :base(view)
    {
        _Item = new ItemModel();
    }

このビューモデルは子ウィンドウに対応します。子ウィンドウを1回実行し、閉じてからもう一度実行しようとすると、閉じたウィンドウでShowShowDialogを呼び出すことができないという例外が発生します。IItemDefViewこれは、1つのオブジェクトのみが作成されることを意味しますか?これについてはどうすればよいですか?

4

1 に答える 1

2

デフォルトでは、MEFはコンテナ内のインスタンスをシングルトーンとして登録します。この動作を変更するには、ImportAttributeのプロパティRequiredCreationPolicyをNonSharedに設定する必要があります。ImportAttribute.RequiredCreationPolicyプロパティパーツの有効期間を参照してください

于 2012-05-26T10:26:38.047 に答える