title: Notify property in another class when property has changed?
body: <p>I have a class which is a collection (<code>MapAdapter</code>) and takes a collection as a constructor parameter .MapAdater adds a Map object on CollectionChanged:</p>
  
  <pre><code>public MapAdapter(UndoRedoCollection undoRedoCollection)
   {
      this.undoRedoCollection = undoRedoCollection;
      this.undoRedoCollection.CollectionChanged += this.OnCollectionChanged;
    }
  </code></pre>
  
  <p>This is my collection changed event where the Map objects are added:</p>
  
  <pre><code>   private void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
     {
        GetMapRules(TurbineUndoRedoCollection);
  
     }
  
  private void GetMapRules(UndoRedoCollection undoRedoCollection)
   {
      foreach (var item in undoRedoCollection)
      {
          this.Add(new Map(item));
         }
      }
  </code></pre>
  
  <p>I have a property on MapAdapter which determines whether the layer is visible on a map:</p>
  
  <pre><code> public bool IsLayerVisible
          {
              get
              {
                  return this.isLayerVisible;
              }
  
              set
              {
                  this.isLayerVisible = value;
                  this.OnPropertyChanged(new PropertyChangedEventArgs("IsLayerVisible"));
              }
          }
  </code></pre>
  
  <p>I have a similar property on my <code>Map</code> class. I need to listen to the <code>IsLayerVisible</code> Property on my <code>MapAdapter</code> and change <code>IsLayerVisible</code> on each of my maps within the <code>MapAdapter</code> collection. The reason being is that I have a control which draws an image and is passed in a <code>Map</code>, it knows nothing of the <code>MapAdater</code> therefore I cannot control when &amp; when not to draw based on visibility.</p>