MVVM、MVVMLight、MVVMLight Toolkit 之我的理解2
MVVM Light中的消息, 上一篇中功能已经实现了,但是没有写到消息。我觉得上一篇文字已经很多,就没写进去。
MVVM中消息主要用到Messenger这个类,而它主要有两个方法,Register 和Send ,相互对应
Send负责发送 Register 负责接收
例子中
Messenger.Default.Send<string>(Send, "childwindow"); 这句话我的理解意思是,将信息发送到子窗体
Messenger.Default.Register<string>(this, "childwindow", msg => showvalue(msg));这句话是接收信息
public void showvalue(string str) { Value = str; }
这面这个方法卸载childwindow页面中,当接受到消息后,改变viewViewModel中的Value属性值,页面中文本框的值也就发生了变化。消息发送成功
Send 和Register方法中都有一个变量 object token,我的理解就是消息的名称,先注册这个消息,再向这个消息发送
信息,它就能接收到信息,并做处理。