借助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

posted @ 2024-04-16 16:20  celestially98  阅读(102)  评论(0编辑  收藏  举报