wpf MVVM工具包-消息接收器未触发?

eiee3dmh  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(123)

你好,我得到了一个简单的消息,我试图在班级之间传递:

public class MainVM : ObservableRecipient, IRecipient<SaveMessage>
    {
        
        public void Receive(SaveMessage message)
        {
            Console.WriteLine(message.Value);
        }
    }

字符串
这段代码在另一个类中:

[RelayCommand]
public void SendToDbSave()
{
    WeakReferenceMessenger.Default.Send(new SaveMessage(Result.ToString()));

}


基本上,消息被发送,但没有被接收,方法也没有被调用。知道为什么吗

63lcw9qa

63lcw9qa1#

尝试设置IsActive=true
document解释了IsActive属性:
“它公开一个IsActive属性来激活/停用视图模型。在该上下文中,“激活”意味着给定的视图模型被标记为正在使用中,使得例如它将开始侦听已注册的消息,执行其他设置操作”

public class MainVM : ObservableRecipient, IRecipient<SaveMessage>
 {
     public MainM()
     {
         IsActive=true;
     } 

     public void Receive(SaveMessage message)
     {
         Console.WriteLine(message.Value);
     }
}

字符串

相关问题