MVVM轻工具包信使问题

时间:2010-11-15 09:21:08

标签: mvvm-light

我正在使用您的messenger类在视图/控件和视图模型之间进行通信。 目前,我在同一视图上多次使用相同的usercontrol。 问题是,当一个视图模型将消息发送回用户控件然后全部 我的视图中的usercontrols(相同类型)得到更新。 如何防止这种情况?

仅供参考,我使用了您提供的令牌功能,但我无法使其适用于我的特定情况。

2 个答案:

答案 0 :(得分:0)

您是否尝试过更改用户控件,以便在构建时可以指定是否应该注册该特定邮件?我会这样做作为一个起点。

另外要注意使用Messenger.Default - 它不是线程安全的,所以如果你最终在很多地方使用它而不是usercontrols(比如在工作线程中通知主线程发生的事件),那么你最好把它包装在另一个执行必要锁定的类中。

答案 1 :(得分:0)

如果您的消息继承自MessageBase类,则可以设置消息的目标, 或使用Guid作为Messenger令牌。