public DataGridTestViewModel() { _addItemTimer = new System.Threading.Timer(AddItemFromTimer, null, System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite); TestCollection.PropertyChanged += (s, e) => { switch (e.PropertyName) { case nameof(ConcurrentObservableCollection <ProjectDetails> .CollectionView): PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(ProjectList))); break; case nameof(ConcurrentObservableCollection <ProjectDetails> .EditableCollectionView): PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(EditableProjectList))); break; } }; var randomItems = Enumerable.Range(0, 10).Select(i => ProjectDetails.GetNewProject()); TestCollection.AddRange(randomItems); }
TestCollection.AddRange(Enumerable.Range(0, 100_000).Select(i => ProjectDetails.GetNewProject())));
/// <summary> /// This method is called by the timer delegate. Adds a random item. /// </summary> private void AddItemFromTimer(Object stateInfo) { TestCollection.Add(ProjectDetails.GetNewProject()); }