title: ExpandoObject PropertyChanged event not triggering in propertygrid
body: <p>Basically I am loading a JSON object that contains combinations of values available or not at run time, so I need to know when a specific property is modified to then toggle all the other browsable etc.. and though that the PropertyChange event was the perfect way to handle it.</p>
  <p>So I can add an event handler to get triggered on my expandoobject like this:</p>
  <pre><code>Dim test As Object = new ExpandoObject
    AddHandler CType(test, INotifyPropertyChanged).PropertyChanged, AddressOf expando_PropertyChanged
  </code></pre>
  <p>and the handler is as basic as it gets</p>
  <pre><code>Public Shared Sub expando_PropertyChanged(ByVal sender As Object, ByVal e As PropertyChangedEventArgs)
      Debug.Print(&quot;Property {0} set or changed&quot;, e.PropertyName)
  End Sub
  </code></pre>
  <p>so far this works, if I add or modify a property right after that, I get notified.
  however if I return this and set it as the selectedobject of my propertygrid, I cannot get the event to trigger.</p>
  <p>I'm using a custom PropertyDescriptor and ICustomTypeDescriptor to set a few other attributes for the propertygrid, so I assumed it might be as easy as setting the attribute</p>
  <pre><code>&lt;RefreshProperties(RefreshProperties.All)&gt;
  </code></pre>
  <p>but I cannot find a way to override the Refresh in the PropertyDescriptor unlike Browsable or readonly, which kinda makes sense as the property grid would need to know ahead of time that it needs to be refreshable.</p>