我在 UserControl1 中有一个 UserControl UserControl1 和一个按钮。我有一个 UserControl1ViewModel,它有一个按钮的 ICommand 属性。使用此命令,我需要在 VM 外部(从其他 VM 或 MainWindow 的 VM)调用方法。对此的最佳做法是什么?
问问题
232 次
3 回答
0
您很可能希望实现 Mediator 模式来处理两个视图模型之间的通信。
另一个同样的问题是: mvvm-view-model-view-model-communications
于 2010-04-08T09:48:11.137 回答
0
您可能想检查 Laurent Bugnion 的 MVVM lite http://www.galasoft.ch/mvvm/getstarted/
这是一个用于帮助实施 mvvm 概念的轻量级工具包。其中,每个视图模型都是 ViewModelLocator 类中的静态成员。因此,例如,在您的命令中,您可以执行类似的操作。
ViewModelLocator.MainViewModel.MainContent = NewContent;
你完全可以在没有 mvvm lite 的情况下做到这一点,但使用它确实有助于加快学习曲线并加强模块化。
于 2010-04-09T22:23:57.377 回答
0
我会考虑使用控制器作为 ViewModel 之间的中介。WPF 应用程序框架 (WAF)展示了它是如何工作的。
于 2010-04-15T18:03:50.410 回答