c# - 我应该在 subview 模型中存储对父 View 模型的引用吗?

标签 c# .net wpf mvvm

因此,如果我将父 ViewModel 的引用存储在子 ViewModel 中,那会不会构成犯罪?我会违反 MVVM 规则吗?我的 subview 是一个带有上下文菜单的窗口。选择适当的菜单项后,需要创建一个新的 subview 。父只负责创建 subview 。所以保持对父 View 模型的引用,对我有很多好处。同时我也不想打破格局规则。

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;
    }
}

最佳答案

没有。通常,如果您多次使用此技术,请尝试将其隐藏在抽象背后,实际上这就是著名的 Caliburn.Micro。 [我喜欢它] 项目用它来做 IChild interface .

关于c# - 我应该在 subview 模型中存储对父 View 模型的引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15420362/

相关文章:

c# - 创建的 WPF 应用程序无法启动

c# - 如何更改 .Net 中整个进程(而不仅仅是当前线程)的 CurrentCulture?

c# - 如何从 WPF gui 运行异步任务并与之交互

c# - 按钮不会触发 Click 事件

c# - 如何在 Xamarin.Forms 中获取客户端设备的 MAC 地址?

c# - 如何减少生成的事件数

c# - 如何重构重载方法

c# - 如何在邮件正文中包含链接?

c# - 导出 CSV 文件 C#4 时处理引号内的逗号。任何建议

c# - 视频不使用统一在 Visual Studio 的本地机器上播放