 <p>I think you misunderstood with <code>Model&lt;---&gt;ViewModel(s) Two-Way binding</code>, actually the binding source should at least be an instance of the Model, the <code>DataContext</code> should be the ViewModel which contains this instance of the Model, we can't directly bind model to a binding target. So your design pattern is not quite right. </p> <p>I think what you need is like when data is changed in ViewModel1, other ViewModels can get notified and response to it, and you may have done this work by manually refresh it and you want to find another way. </p> <p>Here is an easy way to do this in MVVM pattern, you can use the Messenger of <a href="https://mvvmlight.codeplex.com/" rel="nofollow">MVVM Light</a>, you can refer to this question on SO: <a href="http://stackoverflow.com/questions/18087906/use-mvvm-lights-messenger-to-pass-values-between-view-model">Use MVVM Light's Messenger to Pass Values Between View Model</a>.</p>