Добрый день. Помогите, пожалуйста, оптимизировать код при следующих вводных:
- есть grid, с порядка 10к записей моего класса;
- есть коллекция, хранящая в себе выделенные записи;
- есть две переменных, которые возвращают сумму элементов в выделенных записях:
public virtual double TotalDebet => SelectedEntries.Sum(item => item.Debet);
public virtual double TotalCredit => SelectedEntries.Sum(item => item.Credit);
- есть код, который обновляет эти две переменные:
protected void OnSelectedEntriesChanged()
{
this.RaisePropertyChanged(x => x.TotalCredit);
this.RaisePropertyChanged(x => x.TotalDebet);
}
Проблема в следующем:
При выделении большого количества записей (мышкой или через Ctrl+A) происходит не моментальное пополнение коллекции выделенных объектов, а постепенное, соответственно и суммы считаются постепенно, что очень замедляет процесс. Хотел бы уточнить как можно реализовать или задержку, или что-то ещё чтобы сумма считалась только после полного обновления коллекции.
Спасибо.