我正在尝试使用Messaging Center将数据从一个ViewModel发送到另一个ViewModel。 我已在第二个ViewModel的构造函数中订阅了该事件。但事件未订阅,因为在我打开与ViewModel对应的页面/视图之前,构造函数未编译。
我正在使用MVVM Light,直到现在我才知道在应用启动时调用ViewModelLocator时会编译VM的构造函数。
有人可以帮助我更好地理解这一点吗?如何订阅事件,即在没有调用VM的情况下编译构造函数。
答案 0 :(得分:0)
也许你正在以错误的方式思考这个问题。在没有看到代码的情况下,很难看到您要完全实现的目标,但您可以做的是订阅应用程序中其他位置的事件,例如在App.xaml.cs中。触发事件时,此时导航到ViewModel2类型的新页面,并将所需的任何详细信息作为导航参数传递。