MVVM Light Messenger有什么好处?

时间:2016-12-02 10:10:53

标签: c# .net wpf mvvm mvvm-light

为什么我应该通过MessengerInstance的Send方法将消息广播到接收者viewModels订阅,导致内存泄漏的可能性(如作者所提到的),并担心在我可以创建公共方法时取消注册并使调试更难在viewModel中,它是一个潜在的接收者,然后从外部调用这个公共方法,如下所示:

ServiceLocator.Current.GetInstance<MyViewModel1>().InitMyViewModel1();

1 个答案:

答案 0 :(得分:0)

仅在没有依赖项的项目之间进行通信时才使用messenger,好的,考虑一下。我有projectA和ProjectB,它们彼此独立,没有依赖关系,两者都有作为ProjectC的共同引用。如果ProjectA需要ProjectB Data或者反Versa那么你可以使用Messenger或任何Eventaggregator类通过发布从A订阅通过ProjectC相互通信B同样......