|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Collections.Specialized;
namespace Aga.Controls
{
public class ObservableCollectionAdv<T> : ObservableCollection<T>
{
public void RemoveRange(int index, int count)
{
this.CheckReentrancy();
var items = this.Items as List<T>;
items.RemoveRange(index, count);
OnReset();
}
public void InsertRange(int index, IEnumerable<T> collection)
{
this.CheckReentrancy();
var items = this.Items as List<T>;
items.InsertRange(index, collection);
OnReset();
}
private void OnReset()
{
OnPropertyChanged("Count");
OnPropertyChanged("Item[]");
OnCollectionChanged(new NotifyCollectionChangedEventArgs(
NotifyCollectionChangedAction.Reset));
}
private void OnPropertyChanged(string propertyName)
{
OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.