title: INotifyPropertyChanged PropertyChangedEventHandler event is always null
body: <p>I have implemented INotifyPropertyChanged to the following class</p>
  
  <pre><code> public class FactoryItems : INotifyPropertyChanged
      {
          public event PropertyChangedEventHandler PropertyChanged;
  
          string symbol;
          public string Symbol
          {
              get { return symbol; }
              set { symbol = value; OnPropertyChanged("Symbol"); }
          }
  
          public FactoryItems()
          {
  
          }
  
          protected void OnPropertyChanged(string name)
          {
              PropertyChangedEventHandler handler = PropertyChanged;
              if (handler != null)
              {
                  handler(this, new PropertyChangedEventArgs(name));
              }
          }
      }
  </code></pre>
  
  <p>When the Symbol property changes the event fires with no problems but the PropertyChanged event is always null, this class gets instantiated once only, I placed a breakpoint on the constructor to make sure its the case.</p>
  
  <p>In another class this is how I subscribe to it:</p>
  
  <pre><code>Data.Tables.FactoryItems = new Data.FactoryItems();
  Data.Tables.FactoryItems.PropertyChanged += 
  new System.ComponentModel.PropertyChangedEventHandler(FactoryItems_SymbolChanged);
  
  void FactoryItems_SymbolChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
  {
    doSomething();
  }
  </code></pre>
  
  <p>But the handler is always null as PropertyChanged is null. Any idea how to get this working?</p>
  
  <p>Many thanks.</p>