title: Minimizing WPF boilerplate code on bound properties
body: <p>Consider a WPF dialogue with lots of input fields, which are bound to properties in a view-model. E.g.</p>
  
  <pre><code>...
  &lt;TextBox Text="{Binding FirstName}"&gt;
  ...
  
  public string FirstName {
    get { return mFirstName; }
    set {
      if (mFirstName == value) return;
      mFirstName = value;
      OnPropertyChanged("FirstName");
    }
  }
  </code></pre>
  
  <p>As there are tens of fields like this, I would like to minimize the boilerplate C# code to be written. What options do I have?</p>