我希望有一个关于 MVVM 的简单但人为的问题。
我的 MainWindow 有 1 个控件 - ContentControl 仅显示 2 个视图之一。我希望能够通过一个按钮在两个视图之间切换。问题是,按钮将是每个视图上的控件。EG View1 有一个按钮,View2 有一个按钮。UI 上只显示一个视图,单击按钮将显示另一个视图。但是,要使其工作,这意味着视图的 ViewModel 必须了解 MainWindow 的 ViewModel 才能更改视图。这似乎是错误的。
问题可能是我的 MainWindow ViewModel。其中一个项目是公共对象 View {get;set},这就是绑定到 MainWindows ContentControl 的内容。所以,这个属性需要从视图的视图模型中更新。
如果 View 更新 MainWindow 的 ViewModel 是否违反 MVVM 模式?