using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tango.MachineStudio.Logging { public class ControlledObservableCollection : ObservableCollection { public bool DisableNotification { get; set; } public ControlledObservableCollection() : base() { } public ControlledObservableCollection(IEnumerable collection) : base(collection) { } protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e) { if (!DisableNotification) { base.OnCollectionChanged(e); } } public void AddRange(IEnumerable collection) { foreach (var item in collection) { Add(item); } } public void InsertRange(int index, IEnumerable collection) { foreach (var item in collection) { Insert(index, item); } } } }