title: Bind to Model or ViewModel
body: <p>I created a project using MVVM pattern (or so I thought ;) ). To simplify my case:</p>
  
  <p><strong>Model</strong>:</p>
  
  <pre><code>public class Model {
      public string Name { get; set; }
      public bool IsDefective { get; set; }
  }
  </code></pre>
  
  <p><strong>ViewModel</strong> - extends MvvmLight <code>ViewModelBase</code>:</p>
  
  <pre><code>public class ViewModel : ViewModelBase {
      private ObservableCollection&lt;Model&gt; models;
      public ObservableCollection&lt;Model&gt; Models {
          get {
              if (_models== null) {
                  _models= new ObservableCollection&lt;Models&gt;();
              }
  
              return _models;
          }
          set {
              RaisePropertyChanged("Models");
  
              _models= value;
          }
      }
  }
  </code></pre>
  
  <p><strong>View</strong> - I'm showing a list of textboxes:</p>
  
  
  
  <pre><code>&lt;TextBlock Text="{Binding Name}"&gt;
      &lt;TextBlock.Style&gt;
          &lt;Style TargetType="{x:Type TextBlock}"&gt;
              &lt;Style.Triggers&gt;
                  &lt;DataTrigger Binding="{Binding Path=.IsDefective}" Value="True"&gt;
                      &lt;Setter Property="Foreground" Value="Red" /&gt;
                  &lt;/DataTrigger&gt;
              &lt;/Style.Triggers&gt;
          &lt;/Style&gt;
      &lt;/TextBlock.Style&gt;
  &lt;/TextBlock&gt;
  </code></pre>
  
  <p>My scenario is like so: some methods in the <code>Model</code> class may change the IsDefective property, but since my model does not implement the <code>INotifyPropertyChanged</code> interface, my view does not know about such changes. How should this problem be resolved "the mvvm way"? I stumbled upon this question here in SO, but to be honest after reading both highest voted answers and the discussion in comments, I'm more confused: <a href="https://stackoverflow.com/questions/16864610/mvvm-propertychanged-in-model-or-viewmodel">MVVM - PropertyChanged in Model or ViewModel?</a> . I'm willing to agree with Jonathan Allen, because it's just more natural for me to bind this way, but as a beginner in the mvvm pattern I may be missing something. So, am I?</p>