我有一个带有列表的窗口,其中单击列表条目将显示该项目的详细视图的新窗口
在MVVM中最干净的方法是什么?我想过只做一个容器。解析< IViewType>()。Show()并让Unity创建所有的依赖项,但只是调用Show()听起来是非MVVM。我应该创建某种WindowService管理器类还是会有点矫枉过正?代码可以接受哪一层代码来调用Show()
?
其次,如何将参数(例如CustomerID和ProductID)从初始视图模型传递到将附加到正在显示的新窗口的新视图模型?
答案 0 :(得分:0)
我通常更喜欢创建一个NavigationService来处理实例化窗口和视图模型,并将视图模型设置为数据上下文。然后,您可以在父视图模型中调用它,并将它们分离。
答案 1 :(得分:0)
我使用this方法与MVVM进行对话。
我现在要做的就是从我的视图模型中调用以下内容。
var result = this.uiDialogService.ShowDialog("Dialogwindow title goes here", dialogwindowVM);