title: Bind to readonly ViewModel property and update UI on change
body: <p>See EDIT section at the bottom...</p>
  
  <p>In a WPF / MVVM-based application, I have a ViewModel that contains an ObservableCollection of objects.  Each of these objects has an enum "Status" member that implements INotifyPropertyChanged.</p>
  
  <p>In the View, I need to display the count of objects in the collection that have a particular "Status".  Since each object's status can be updated dynamically, the View needs to reflect those dynamic changes in the displayed values.</p>
  
  <p>Currently, I have a ViewModel property that returns the count of each status (one property for each status).  For instance:</p>
  
  <pre><code>public int TranslatedWithErrorsCount
  {
      get { return FileCollection.Count(n =&gt; n.Status == TranslateStatus.TranslatedWithErrors); }
  }
  </code></pre>
  
  <p>However, since the value of each count property is just a by-product of the current state of the collection (and therefore I don't ever <strong>set</strong> it), it's not clear to me how to best trigger the chain of events that starts with the change of an object's status and ends with the displayed count values updating dynamically.</p>
  
  <hr>
  
  <p><strong>* EDIT *</strong></p>
  
  <p>At the time of posting, I already had a working solution.  I didn't want to muddy the waters with what I had already done as I assumed there was probably a better way.  Anyway, based on the current responses, maybe my existing solution is more acceptable than I expected.</p>
  
  <p>Currently, I:</p>
  
  <ol>
  <li>Subscribe to my collection's CollectionChanged event and in the event handler, I manually fire PropertyChanged events on my "Count" properties.</li>
  <li>I based the collection itself on "<a href="https://stackoverflow.com/questions/8490533/notify-observablecollection-when-item-changes/8490996#8490996">TrulyObservableCollection</a>" instead of "ObservableCollection" in order to catch individual Status change events in the underlying objects.</li>
  </ol>
  
  <p>This all seems to work as expected, but I assumed there might be a cleaner way.</p>