私には2つのフォームがあり、
- タイプのリストを表示するグリッド ビューを持つ 1 つのメイン フォーム
AaaViewModel
。 - メインフォームの行をクリックするとポップアップする1つのサブフォーム。
BbbViewModel
メイン フォームでクリックされた行のデータと、クリックされた行に関連するタイプのリストを含むグリッド ビューが表示されます。
メイン フォームの状態を保持するにはどうすればよいですか? すべきか
interface IMainForm { IEnumerable<AaaViewModel> state; ....}
それともプレゼンタークラスに入れる必要がありますか?IEnumerable<AaaViewModel>
メイン フォーム用に別の ViewModel を定義する必要がありますか?
ところで、サブフォームの ViewModel はどのように定義する必要がありますか? 2つのビューモデルAaaViewModel
とを使用する必要がありBbbViewModel
ますか? もしくは組み合わせる必要があります。
class SubformViewModel
{
public AaaViewModel Main { get; set; }
public IEnumerable<BbbViewModel> Sub { get; set; }
}
または、メイン フォームからいくつかのフィールドのみが必要な場合は、サブフォームに AaaViewModel を含める必要はありませんか?
class SubformViewModel
{
public int Field1 { get; set; }
public string Field2 { get; set; }
public IEnumerable<BbbViewModel> Sub { get; set; }
}