【发布时间】:2010-11-15 09:21:07
【问题描述】:
我正在使用您的信使类在视图/控件和视图模型之间进行通信。 目前我在同一个视图上多次使用相同的用户控件。 问题是,当一个视图模型向用户控件发送回消息时,所有 我认为用户控件(相同类型的)得到更新。 如何预防?
仅供参考,我使用了您提供的令牌功能,但无法使其适用于我的特定情况。
【问题讨论】:
标签: mvvm-light
我正在使用您的信使类在视图/控件和视图模型之间进行通信。 目前我在同一个视图上多次使用相同的用户控件。 问题是,当一个视图模型向用户控件发送回消息时,所有 我认为用户控件(相同类型的)得到更新。 如何预防?
仅供参考,我使用了您提供的令牌功能,但无法使其适用于我的特定情况。
【问题讨论】:
标签: mvvm-light
您是否尝试过更改您的用户控件,以便在构造时指定它是否应该注册该特定消息?我会以此为起点。
使用 Messenger.Default 需要注意的另一件事——它不是线程安全的,所以如果你最终在用户控件以外的很多地方使用它(比如在工作线程中通知主线程发生的事件),那么你最好将它包装在另一个执行必要锁定的类中。
【讨论】:
如果您的消息继承自 MessageBase 类,您可以设置消息的目标,
或使用 Guid 作为 Messenger 令牌。
【讨论】: