private void Markers_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add) { foreach (MapMarker newItem in e.NewItems) { var template = this.MarkerTemplates.FirstOrDefault(m => m == newItem); if (template != null) { var idx = this.MarkerTemplates.IndexOf(template); this.MarkerTemplates.Remove(template); template = new MapMarker(this) { Icon = newItem.Icon }; this.MarkerTemplates.Insert(idx, template); } } } }
public void RemoveMarker(MapMarker marker) { this.Markers.Remove(marker); }