POCO和多个ViewModel指向同一个POCO?

怎么会处理这样的情况呢? 让多个ViewModel具有对同一POCO对象的引用。 ViewModel A更新POCO …现在ViewModel B需要以某种方式了解这一点?

假设您的POCO无法实现INotifyPropertyChanged ,您可以使用中介模式在POCO更改时提醒其他视图模型:

 public interface ICareWhenAModelChanges { void ModelUpdated(T updatedModel); } public class ModelChangeMediator { private List> _listeners = new List>(); public void Register(ICareWhenAModelChanges listener) { _listeners.Add(listener); } public void NotifyThatModelIsUpdated(T updatedModel) { foreach (var listener in _listeners) listener.ModelUpdated(updatedModel); } } 

然后,您的视图模型可以实现ICareWhenAModelChanges接口,使用介体的共享实例(通过单例或更好的某种DI / IoC框架获取)注册自己,并在ModelUpdated方法中执行任何ModelUpdated