我正在使用您的messenger类在视图/控件和视图模型之间进行通信。 目前,我在同一视图上多次使用相同的usercontrol。 问题是,当一个视图模型将消息发送回用户控件然后全部 我的视图中的usercontrols(相同类型)得到更新。 如何防止这种情况?
仅供参考,我使用了您提供的令牌功能,但我无法使其适用于我的特定情况。
答案 0 :(得分:0)
您是否尝试过更改用户控件,以便在构建时可以指定是否应该注册该特定邮件?我会这样做作为一个起点。
另外要注意使用Messenger.Default - 它不是线程安全的,所以如果你最终在很多地方使用它而不是usercontrols(比如在工作线程中通知主线程发生的事件),那么你最好把它包装在另一个执行必要锁定的类中。
答案 1 :(得分:0)
如果您的消息继承自MessageBase
类,则可以设置消息的目标,
或使用Guid
作为Messenger令牌。