public void RemovePlays(List <TimelineEvent> plays) { foreach (TimelineEvent p in plays) { eventsTimelines [p.EventType].RemoveNode(p); Selections.RemoveAll(s => (s.Drawable as TimelineEventObject).Event == p); } }
void HandlePeriodsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Remove) { foreach (var timerVM in e.OldItems.OfType <TimerVM> ()) { Selections.RemoveAll(s => (s.Drawable as TimerTimeNodeView).Timer == timerVM); } } }
protected override void HandleChildrenChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Remove) { var removedViews = e.OldItems.OfType <ICanvasObject> ().ToList(); Selections.RemoveAll(s => removedViews.Contains(s.Drawable as ICanvasObject)); } else if (e.Action == NotifyCollectionChangedAction.Reset) { Selections.Clear(); } }