This library implements an extendable ObservableList<T>, which generates INotifyCollectionChanged events, works when downcast, and can wrap IList<T>, and ObservableListSynchronizer<TSource,TDestination> which synchronizes two related ObservableLists<T>.
The ObservableList implmenents IList, IList<T>, ICollection, ICollection<T>, INotifyCollectionChanged, INotifyPropertyChanged and generates CollectionChanged events even when downcast to its interfaces. The base functionality of the ObservableList<T> is backed by a standard List<T>. The ObservableList can thus serve as a wrapper for a pre-existing List<T>.
The ObservableListSynchronizer<TSource,TDestination> provides synchronization between two ObservableList<T> of different but related types <TSource> and <TDestination>. When an item is added, moved or removed from one list, the change will be propagated to the other list.
Install-Package Gstc.Collections.ObservableLists -Version 1.0.0
dotnet add package Gstc.Collections.ObservableLists --version 1.0.0
<PackageReference Include="Gstc.Collections.ObservableLists" Version="1.0.0" />
paket add Gstc.Collections.ObservableLists --version 1.0.0
This code is strongly unit tested, reviewed and commented. It still needs community usage and additional usage to see if any difficulties pop up.
- No dependencies.
This package is not used by any popular GitHub repositories.