我刚刚开始使用MVVM Light 框架学习 Silverlight 。最近我开始接触 MVVM Light 中的 Messenger 功能。
到目前为止,我已经下载并深入研究了 Laurent 发布的Clean Shutdown 示例,并对 Messenger 类的工作原理有了基本的了解,但我仍然有点不确定何时使用哪种 Message 类型。
从该站点,以下是消息类型:
- MessageBase:一个简单的消息类,携带有关消息发送者的可选信息。
- GenericMessage:具有 T 类型的 Content 属性的简单消息。
- NotificationMessage:用于向收件人发送通知(作为字符串)。例如,将通知作为常量保存在 Notifications 类中,然后将 Notifications.Save 发送给收件人。
- NotificationMessage:与上面相同,但具有通用的 Content 属性。可用于将参数与通知一起传递给收件人。
- NotificationMessageAction:向收件人发送通知并允许收件人回拨发件人。
- NotificationMessageAction:向收件人发送通知,并允许收件人使用通用参数回叫发件人。
- DialogMessage:用于请求接收者(通常是视图)显示一个对话框,并将结果传递回调用者(使用回调)。接收者可以选择如何显示对话框,或者使用标准的 MessageBox、使用自定义弹出窗口等……</li>
- PropertyChangedMessage:用于广播发送者中更改的属性。实现与 PropertyChanged 事件相同的目的,但方式不那么严格。
我的问题是:谁能向我解释我通常什么时候会使用这些消息类型中的每一种,或者指向我一篇文章来分解使用每种消息类型的优缺点?