title: textblock not updating when property changed in model
body: <p>My textblock is not being updated update the value from my Model.  If I update the textblock in the ViewModel it works so my bindings seem to be correct.  I believe the problem is the way I update it in the Model but I am not sure why also my observableCollection only updates because I pass the values back and forth not sure that is good MVVM strategy.</p>
  
  <p>XAML portion:</p>
  
  <pre><code>&lt;Grid&gt;
      &lt;TextBox x:Name="NewLabelBx" HorizontalAlignment="Left" Height="23" Margin="54,449,0,0" TextWrapping="Wrap" Text="{Binding NewLabel,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Width="314"/&gt;
      &lt;Button x:Name="NewLabelBtn" Content="Add Label" HorizontalAlignment="Left" Margin="293,490,0,0" VerticalAlignment="Top" Width="75" RenderTransformOrigin="0.518,-0.709" Command="{Binding Path=NewLabelBtn}" /&gt;
      &lt;TextBlock x:Name="FilesProcessedBlck" HorizontalAlignment="Left" Margin="54,507,0,0" TextWrapping="Wrap" Text="{Binding FilesProcessedBlck,  UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" RenderTransformOrigin="-0.7,0.562" Width="65"/&gt;
  &lt;/Grid&gt;
  </code></pre>
  
  <p>ViewModel portion:</p>
  
  <pre><code>    public class P4LabelBatteryViewModel : BindableBase
  {
      private P4LabelBatteryModel p4LabelBatteryModel = new P4LabelBatteryModel();
  
      public P4LabelBatteryViewModel()
      {
          P4LabelBatteryModel p4LabelBatteryModel = new P4LabelBatteryModel();
  
          this.GetBatteryBtn = new DelegateCommand(chooseFile, canChooseFile);
          this.NewLabelBtn = new DelegateCommand(chooseNewLabel, canNewLabel).ObservesProperty(() =&gt; NewLabel);
          this.FilesProcessedBlck = 2;  //this works.
      }
  
      //other code here
  
      private void chooseNewLabel()
      {
          if (ScriptCollection.Count &gt; 0)
          {
              ScriptCollection = P4LabelBatteryModel.TagsFilesModel(NewLabel, ScriptCollection);
          }
      }
  
  
      private int _filesProcessedBlck;
      public int FilesProcessedBlck
      {
          get
          {
              return _filesProcessedBlck;
          }
          set
          {
              SetProperty(ref _filesProcessedBlck, value);
          }
  
      }
  
      private ObservableCollection&lt;ScriptModel&gt; _scriptCollection = new ObservableCollection&lt;ScriptModel&gt;();
      public ObservableCollection&lt;ScriptModel&gt; ScriptCollection
      {
          get
          {
              return _scriptCollection;
          }
          set
          {
              SetProperty(ref _scriptCollection, value);
          }
  
      }        
  
  }
  </code></pre>
  
  <p>Model portion:</p>
  
  <pre><code>   class P4LabelBatteryModel
  {
  
     public static ObservableCollection&lt;ScriptModel&gt; TagsFilesModel(string NewLabel, ObservableCollection&lt;ScriptModel&gt; observableCollection)
      {
          string newLabel = NewLabel;
          var scriptsToTagColl = observableCollection;
          string[] files = null;
  
          var _p4LabelBatteryViewModel = new P4LabelBatteryViewModel();
          _p4LabelBatteryViewModel.FilesProcessedBlck++;  //xaml is never updated with this value.
  
          //This will generate an IPC when returned
          ObservableCollection&lt;ScriptModel&gt; newCollection = new ObservableCollection&lt;ScriptModel&gt;();
  
          //code here that modifies newCollection  xaml updates when this returns, _p4LabelBatteryViewModel.FilesProcessedBlck++; does not.
  
          return newCollection;
      }
  }
  </code></pre>
  
  <p>When I run the debugger I can see the P4LabelBatteryViewModel.FilesProcessedBlck is being modified but the XAML is not being updated.</p>