2007-04-13 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web.UI / DataBindingCollection.cs
index 1d1ecc00944330493d66029f1b06e0cd4de69c2a..c919e35af0c8ad5bddde3f53828f8d7a753be797 100644 (file)
@@ -71,6 +71,7 @@ namespace System.Web.UI {
                public void Add (DataBinding binding)
                {
                        list.Add (binding.PropertyName, binding);
+                       RaiseChanged ();
                }
 
                public void Clear ()
@@ -80,7 +81,7 @@ namespace System.Web.UI {
 
                public void CopyTo (Array array, int index)
                {
-                       list.CopyTo (array, index);
+                       list.Values.CopyTo (array, index);
                }
 
                public IEnumerator GetEnumerator ()
@@ -98,6 +99,7 @@ namespace System.Web.UI {
                {
                        removed.Add (propertyName);
                        list.Remove (propertyName);
+                       RaiseChanged ();
                }
 
                public void Remove (string propertyName,
@@ -110,14 +112,21 @@ namespace System.Web.UI {
 
                        list.Remove (propertyName);
                }
+
 #if NET_2_0
                public bool Contains (string propertyName)
                {
                        return list.Contains (propertyName);
                }
 
-               [MonoTODO]
                public event EventHandler Changed;
+#else
+               internal event EventHandler Changed;
 #endif
+               internal void RaiseChanged ()
+               {
+                       if (Changed != null)
+                               Changed (this, EventArgs.Empty);
+               }
        }
 }