我正在开发WPF地图应用程序,我在MVVM WPF应用程序中使用View和ViewModel。用户单击View中的按钮(让我们称之为View#1),然后ViewModel将地图添加到窗口中。然而,在我的应用程序中有另一个视图(让我们调用View#2),它负责地图操作。我无法将View#2中使用的控件添加到View#1,因为View#1只是一个具有不同地图名称的列表框。
我希望View#2初始化并在ViewModel#1的屏幕上显示。
这种方法是否反对良好的MVVM编程实践来从不同的ViewModel初始化View?如果是,那么处理这些情况的正确方法是什么。
由于
答案 0 :(得分:1)
通常,您将viewmodel注入视图,因此一个视图模型上只能有一个视图。
但是你可以拥有包含View#1和View#2的View#0。 ViewModel#0将包含2个包含ViewModel#1和ViewModel#2
的属性