我正在使用MVVM Light,并已经使用打包的信使系统在视图模型之间进行通信,但是我遇到了一个问题!基本上,当用户单击客户记录时,相应的视图将被打开,并且CustomerViewModel也将被实例化。此时,CustomerViewModel需要来自前一个视图模型(ViewAllCustomersViewModel)的选定客户ID,以便可以获取所选客户信息,这些信息由视图绑定(还在跟进吗?)。因此,最初我的想法是从ViewAllCustomersViewModel(选择要查看的客户所在的位置)向CustomerViewModel发送一条消息,其中包含该ID... 但是,CustomerViewModel未被实例化,无法接收消息,直到视图加载(此时消息已经被广播)!
那么,解决这个问题的最佳方法是什么?到目前为止,我考虑过CustomerViewModel一旦被实例化就向ViewAllCustomersViewModel发送请求(基本上是说“我准备好接收消息了”),然后ViewAllCustomersViewModel将ID返回给CustomerViewModel... 但是,这是解决这个问题的必要方法吗?对我来说,这似乎有点丑陋!
否则,我在想是否有另一种通信方式可以解决我遇到的问题?但这不是消息系统的整个目的吗...能够在视图模型之间进行通信吗?或者我可以强制启动视图模型吗?如果可以,那么这将如何影响ViewModelLocator?
希望我已经清楚地概述了问题,我已经使用虚构的视图模型名称来说明...请随意编辑或建议您想要添加的任何其他信息!
那么,解决这个问题的最佳方法是什么?到目前为止,我考虑过CustomerViewModel一旦被实例化就向ViewAllCustomersViewModel发送请求(基本上是说“我准备好接收消息了”),然后ViewAllCustomersViewModel将ID返回给CustomerViewModel... 但是,这是解决这个问题的必要方法吗?对我来说,这似乎有点丑陋!
否则,我在想是否有另一种通信方式可以解决我遇到的问题?但这不是消息系统的整个目的吗...能够在视图模型之间进行通信吗?或者我可以强制启动视图模型吗?如果可以,那么这将如何影响ViewModelLocator?
希望我已经清楚地概述了问题,我已经使用虚构的视图模型名称来说明...请随意编辑或建议您想要添加的任何其他信息!