【发布时间】:2011-03-24 02:46:28
【问题描述】:
我在我的 WPF 应用程序中使用 MVVM Light 工具包。我想知道从现有窗口打开新窗口的最佳方法是什么。我有这个MainViewModel,它负责我的应用程序的MainWindow。现在在MainView 中,单击按钮,我想在其顶部打开第二个窗口。我将RelayCommmand 绑定到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 应该如何处理消息?在它背后的代码还是什么?
问候, 纳比尔
【问题讨论】:
标签: wpf mvvm mvvm-light