public void Layers_CollectionChanged(Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
//this event if fired when this code is executed: MyDrawObject.DrawMode = DrawMode....
//so we look for single layers being added/removed with null Ids
//we supress the refresh in these circumstances
bool DontFire = false;
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
{
if (e.NewItems != null && e.NewItems.Count == 1)
{
if (((ESRI.ArcGIS.Client.Layer)e.NewItems[0]).ID == null)
{
DontFire = true;
}
}
}
else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
{
if (e.OldItems != null && e.OldItems.Count == 1)
{
if (((ESRI.ArcGIS.Client.Layer)e.OldItems[0]).ID == null)
{
DontFire = true;
}
}
}
if (DontFire == false)
{
Refresh();
}
}!string.IsNullOrEmpty(layer.ID)