我正在我的WPF应用程序中使用MVVM Light工具包。我想知道从现有窗口打开新窗口的最佳方法是什么。我有一个名为MainViewModel
的对象,它负责我的应用程序的MainWindow
。现在,在MainView
中,当用户点击一个按钮时,我想在其上方打开第二个窗口。我绑定了一个RelayCommand
到该Button
的Command
属性。在RelayCommand
的方法中,我可以创建一个新的窗口对象,并简单地调用Show()
方法,就像这样:
var view2 = new view2()
view2.Show()
但我认为ViewModel不应该负责创建新的view2
对象。我已阅读了这篇帖子WPF MVVM Get Parent from VIEW MODEL,在其中Bugnion建议从viewmodel1
向view1
传递消息,然后view1
应该创建新的view2
。但我不确定他实际上是通过将消息传递给view1
来做什么?view1
应该如何处理这个消息?在它的代码后面还是其他地方?
问候, Nabeel