comment trier ObservableCollection

J'ai une ObservableCollection et WPF UserControl est lié aux données. Le Contrôle est un graphique qui montre une barre verticale pour chaque élément de type BarData dans l'ObservableCollection.

ObservableCollection<BarData>

class BarData
{
   public DateTime StartDate {get; set;}
   public double MoneySpent {get; set;}
   public double TotalMoneySpentTillThisBar {get; set;}
}

Maintenant, je veux sortir de la ObservableCollection basé sur la date de début, de sorte que le BarData seront en ordre croissant de date de début de la collection.
Ensuite, je peux calculer les valeurs de TotalMoneySpentTillThisBar dans chaque BarData comme celui -

var collection = new ObservableCollection<BarData>();
//add few BarData objects to collection
collection.Sort(bar => bar.StartData);    //this is ideally the kind of function I was looking for which does not exist 
double total = 0.0;
collection.ToList().ForEach(bar => {
                                     bar.TotalMoneySpentTillThisBar = total + bar.MoneySpent;
                                     total = bar.TotalMoneySpentTillThisBar; 
                                   }
                            );

Je sais que je peux utiliser ICollectionView pour trier, filtrer les données pour veiwing mais cela ne change pas la perception. J'ai besoin de trier la collection réelle afin que je puisse calculer TotalMoneySpentTillThisBar pour chaque élément. Sa valeur dépend de l'ordre des éléments dans la colection.

Grâce.

source d'informationauteur Souvik Basu