借助Messenger实现ViewModel间通信(communitytoolkit-mvvm)
两个VM:MainViewModel,TestViewModel
需求:TestViewModel中发消息到MainViewModel处理
写法1:
1.MainViewModel中注册消息处理函数WeakReferenceMessenger.Default.Register<string, string>(this, "AddItem", DoMessage)
2.参数2用于校验,参数3为消息处理函数
3.TestViewModel中使用WeakReferenceMessenger.Default.Send("aaa")发消息
写法2:
1.MainViewModel继承ObservableRecipient,IRecipient<string>
2.实现IRecipient<string>,表示处理所有WeakReferenceMessenger.Default.Send("aaa")发送的string类型的消息
3.设置this.IsActive=true,这个属性继承自ObservableRecipient