この質問のバージョンが尋ねられましたが、そのように重複しているとは思われません。私はC#/ Prism4でLOBアプリケーションを構築していますが、私は1日目からアーキテクチャを正しく取得しようとしています。アプリケーションには、最終的にかなりのマスター/詳細画面と編集可能な埋め込みグリッドの編集画面があります。たとえば、ポップアップ画面で追加または編集する機能を持つユーザーのリストを表示します。ポップアップダイアログとPrism4を使用しているマスターの詳細
現時点では、データバインドによって可視性が制御された同じビューモデルにバインドされた非表示のパネルデータとしてダイアログを表示するのが簡単な解決策であると考えています。上記の例を使用してユーザーを編集するには、編集するデータのコピーを作成し、IsInEditModeフラグをtrueに設定してダイアログを表示します。通常のコマンドでは、 'save'/'cancel'ボタンを捕捉してモデルを更新することができます。
これは実装が簡単ではありませんが、少し間違っていると感じます。心配の分離があります、それはviewmodelが多重化されているように感じます。
私はPrism InteractionRequestガイダンスに出くわしましたが、それは単純なポップアップ(「キャンセルしてもよろしいですか?
私は、数十画面にまたがるスケールが必要なソリューションが必要です。維持するのは簡単で簡単です。
ありがとうございます。
ありがとうございました。 Prism4ドコは、インタラクションサービスまたはインタラクションリクエストの使用、その優先的な実装をカバーしています。そう言われているように、それはyes/noダイアログをポップアップさせるような単純なやり取りに基づいているようです。私は、実際に多くのフィールドを交換する実際のダイアログを実際にどのように構築するのがいかに大変かと思います。それ自体のビューとビューモデルに値するか、またはそれをオーナーのV/VMに靴ひもで結ぶことができますか?それについてサンクして、私は別のVとVMを持つことに近づいています - それはより拡張性があり、膨大な、維持不能なファイルのリスクを減らします。 – dave
それは確かに独自のビューとビューモデルに値する。ダイアログは別の画面で、独自のビューモデルが必要です。これはまた、懸念の分離を促進する。 –