从MVVM中的另一个ViewModel初始化View

时间:2013-10-24 05:40:59

标签: wpf mvvm

我正在开发WPF地图应用程序,我在MVVM WPF应用程序中使用View和ViewModel。用户单击View中的按钮(让我们称之为View#1),然后ViewModel将地图添加到窗口中。然而,在我的应用程序中有另一个视图(让我们调用View#2),它负责地图操作。我无法将View#2中使用的控件添加到View#1,因为View#1只是一个具有不同地图名称的列表框。

  

我希望View#2初始化并在ViewModel#1的屏幕上显示。

这种方法是否反对良好的MVVM编程实践来从不同的ViewModel初始化View?如果是,那么处理这些情况的正确方法是什么。

由于

1 个答案:

答案 0 :(得分:1)

通常,您将viewmodel注入视图,因此一个视图模型上只能有一个视图。

但是你可以拥有包含View#1和View#2的View#0。 ViewModel#0将包含2个包含ViewModel#1和ViewModel#2

的属性