title: What is the importance of RaisePropertyChanged?
body: <p>I am currently learning MVVM and i don't understand how <code>RaisePropertyChanged</code> is important</p>
  <p>For example this function :</p>
  <pre><code>public City SelectedCity
  {
      get
      {
          return selectedcity;
      }
      set
      {
          RaisePropertyChanging(SelectedCityLocationPropertyName);
          selectedtrend = value;
          RaisePropertyChanged(SelectedCityLocationPropertyName);
          MessageBox.Show(City.Name);
      }
  }
  </code></pre>
  <p>and this one :</p>
  <pre><code>public City SelectedCity
  {
      get
      {
          return selectedcity;
      }
      set
      {
          //   RaisePropertyChanging(SelectedCityLocationPropertyName);
          selectedtrend = value;
          //   RaisePropertyChanged(SelectedCityLocationPropertyName);
          MessageBox.Show(City.Name);
      }
  }
  </code></pre>
  <p>Give exactly the same result for me. Can you please tell me  why is <code>RaisePropertyChanged</code>  so important and give me an example where it would make a vital difference?</p>