0

エンティティの新しいインスタンスを追加するために開かれるウィンドウにフォームがあります。後でこのエンティティを編集するには、フィールドが事前に入力されていることを除いて、同じフォームを表示するための最良の方法は何ですか?

ダーティハック(状態の設定[追加/編集]に沿った)と単一責任の原則への違反がなければ、同じビューとビューモデルを再利用するのは難しいと感じています。私は現在、すべての重複したVMコードを含むベースビューモデルから継承することを考えていますが、それでも同じフォームの2つのバージョンで立ち往生しています。それを乾いた状態に保ちながらこれを行うための最良の方法は何ですか?

私はWPFをかなり初めて使用しており、MVVMLightフレームワークを使用しています。

4

1 に答える 1

1

Automapperを使用すると、基本的にエンティティとビューモデル間のマッピングが簡単になります。問題のエンティティを取得し、それをビューモデルにマップして、フォームに表示します。新しいビューモデルを作成してビューにバインドするか、既存のフィールドをクリアする限り同じビューモデルを再利用することができます。

ビューモデルに、「作成」モードか「編集」モードかをUIに通知する状態を設定することをお勧めします。私の考えでは、これは単一責任に違反しません。ビューモデルは、UIにそれ自体をどのように表示するかを指示しています。実際の編集および作成機能は、個別のCommandオブジェクトに含める必要があります。

http://automapper.org/

于 2012-09-16T19:06:32.540 に答える