ID

Uploaded

Status

Description

Work Items

Action

8083
by paultk
Jan 17, 2011
9:51 AM

Being evaluated

This patch adds the DistinctBy extension method and the DistinctByReadOnlyContinuousCollection class needed to support it. The DistinctByReadOnlyContinuousCollection class listens for the add, remove and reset events on its underlying collection and reacts to them by adding and removing items from its own collection. Items are only added to the DistinctByReadOnlyContinuousCollection if they are distinct from all the other items in the collection. The class determines whether an item is distinct by using the expression passed in at construction. The expression generates a key for the item and if this key already exists in the collection of known keys then its associated item is not added.

I'm unable to develop with NUnit or Silverlight, so I'm afraid these changes have only been tested with WPF. I hope they're of some use.

Download

6363
by jbcooley
Jul 19, 2010
10:39 PM

Being evaluated

Change to prevent ArgumentException when adding a previously removed item to the source list.

7003

Download

6272
by jbcooley
Jul 7, 2010
9:56 PM

Being evaluated

Changes to prevent NullReferenceException when filter expression contains a reference to a static property.

4659

Download

4259
by ismell
Oct 29, 2009
6:34 PM

Being evaluated

Hey,
I refactored the code a bit more and made it cleaner. I split out the methods I added to PropertyAccessTree and moved it into a separate class called PropertyNotifier.
I also changed the events to pass back the object that is in the notifier as opposed to INotifityPropertyChanged.

Download

4257
by ismell
Oct 29, 2009
4:41 PM

Being evaluated

Hey Andy,
Raul here. I've been bugging you on your blog for a bit ;)
I loved the idea of the NotifyCollectionChangedMonitor so I decided to take it a step further.
I added an ItemChanging event, but the biggest one is the ability to listen on multiple PropertyAccessTrees .
i.e)
var monitor = new NotifyCollectionChangedMonitor<Person>(_source);
monitor.ItemChanging += (sender, item) => Console.WriteLine("A property is changing");
monitor.ItemChanged += (sender, item) => Console.WriteLine("A property changing");

var ageTree = monitor.AddProperty(person => person.Age);
ageTree.ItemChanging += (sender, item) => Console.WriteLine("Age is changing");
ageTree.ItemChanged += (sender, item) => Console.WriteLine("Age changed");

var nameTree = monitor.AddProperty(person => person.Name);
nameTree.ItemChanging += (sender, item) => Console.WriteLine("Name is changing");
nameTree.ItemChanged += (sender, item) => Console.WriteLine("Name changed");

If you feel this is a worthwhile contribution I would love to see it in the library :)

Thanks,
Raul

Download

3727
by JohnMartinMalone
Aug 31, 2009
3:28 PM

Being evaluated

Changes to allow SelectManyReadOnlyContinuousCollection to monitor changes made to child collections

4845

Download

6185
by kayhustle
Jun 22, 2010
10:03 PM

Declined

Added implementations for Skip and Take


Declined Jun 22, 2010: Meant to add this to source control not as patch

View All
  • 1-7 of 7 Patches
    • Previous
    • 1
    • Next
    • Showing
    • All
    • Patches