Wpf 在MVVM中从不同的ViewModel初始化视图

Wpf 在MVVM中从不同的ViewModel初始化视图,wpf,mvvm,Wpf,Mvvm,我正在开发一个WPF地图应用程序,我在MVVM WPF应用程序中创建了一个视图和一个视图模型。用户单击视图中的按钮(称之为View#1),然后ViewModel将地图添加到窗口中。然而,在我的应用程序中还有另一个视图(我们称之为视图#2)负责地图操作。我无法将视图#2中使用的控件添加到视图#1中,因为视图#1只是一个具有不同映射名称的列表框 我希望视图#2从ViewModel#1初始化并显示在屏幕上 这种方法是否违背了从不同的ViewModel初始化视图的良好MVVM编程实践?如果是,那么处理这

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

我希望视图#2从ViewModel#1初始化并显示在屏幕上

这种方法是否违背了从不同的ViewModel初始化视图的良好MVVM编程实践?如果是,那么处理这些情况的正确方法是什么


谢谢

通常情况下,您会将viewmodel插入到视图中,因此一个视图模型上只能有一个视图

但是您可以有一个同时包含视图1和视图2的视图0。 ViewModel#0将有两个属性,分别包含ViewModel#1和ViewModel#2