7

したがって、親ViewModelの参照を子ViewModelに保存すると、それは犯罪になりますか? MVVM ルールに違反しますか? 私の子ビューは、コンテキスト メニューのあるウィンドウです。適切なメニュー項目が選択されたら、新しい子ビューを作成する必要があります。親だけが子ビューを作成する責任があります。したがって、親ビュー モデルへの参照を維持することは、私にとって非常に役立ちます。同時に、パターンのルールを破りたくありません。

class MainViewModel
{
    List<ChildViewModel> _childrenViewModels = new List<ChildViewModel>();

    public AddChild(ChildViewModel childViewModel)
    {
        _childrenViewModels.Add(childViewModel);
        childViewModel.Owner = this;
    }
}

class ChildViewModel
{
    private Child _child;
    public MainViewModel Owner { get; set; }

    public ChildViewModel(Child child)
    {
        _child = child;
    }
}
4

3 に答える 3

3

いいえ。一般に、この手法を何度も使用する場合は、抽象化の背後に隠そうとします。実際、これは有名なCaliburn.Micro [大好きです]プロジェクトがIChildインターフェイスで行うことです。

于 2013-03-14T23:11:01.273 に答える
2

答えはノーですが、目的のために、親が子ビューモデルを作成するだけである場合、なぜこの参照が必要なのですか? そのつながりを持つ目的は何ですか?

于 2013-03-14T21:42:45.940 に答える