Пусть это базовый класссумма фильтрованной ICollectionView
public class Contrat_Paye_Item
{
public int CPI_TYPE { get; set; }
public string CPI_TEXT { get; set; }
public decimal CPI_AMOUNT { get; set; }
}
на мой взгляд модели я сделал список из этого класса, как это:
private ObservableCollection<Contrat_Paye_Item> listapayer;
public ObservableCollection<Contrat_Paye_Item> ListaPayer
{
get
{
return listapayer;
}
set
{
listapayer = value;
OnPropertyChanged("ListaPayer");
}
}
и в конструкторе VM, только некоторые Testdata:
listapayer.Add(new Contrat_Paye_Item()
{
CPI_TYPE = 0,
CPI_TEXT = "Loyer",
CPI_AMOUNT = 100
});
listapayer.Add(new Contrat_Paye_Item()
{
CPI_TYPE = 1,
CPI_TEXT = "charge 1",
CPI_AMOUNT = 200
});
listapayer.Add(new Contrat_Paye_Item()
{
CPI_TYPE = 1,
CPI_TEXT = "Charges 2",
CPI_AMOUNT = 300
});
поэтому полный список содержит 3 пункта общая сумма составляет 600.
в моем ViewModel я добавил подсписок только предметы, которые их CPI_type = 1 и связаны его в ListBox без проблем, как это:
public ICollectionView ListCharges
{
get
{
var sub= new CollectionViewSource { Source = listapayer }.View;
sub.Filter = p => (p as Contrat_Paye_Item).CPI_TYPE == 1;
return sub;
}
}
теперь, что я хочу, чтобы отобразить список моих предметов , с строкой, содержащей сумма сумм элементов подсписок. безвыходном его второй ListBox
что-то вроде:
LOYER 100
плата 500
любая идея, наконечник приветствуется. благодаря
спасибо человеку, это будет работать в моем сценарии, так как у меня есть только очень небольшие записи, поэтому воссоздавать список сумма не является проблемой для меня. Я отмечаю это как решение на данный момент, но :) – user2475096
было бы неплохо, если бы он использовал наблюдаемый шаблон, Я не упоминал об этом для ясности кода, но на самом деле я использую шаблон INotifyPropertyChanged как для классов, так и для List. ObserableCollection является модифицированным One named NotifyPropertyChanged из этого потока http://stackoverflow.com/questions/8490533/notify-observablecollection-when-item-changes , который также позволяет уведомлять об изменениях элементов, поэтому мы можем обновлять сводки и такие вещи, как – user2475096
, поэтому решение, использующее INotifyPropertyChanged и CollectionChanged, будет намного полезнее. и намек на это было бы здорово. ps: есть ли способ опубликовать длинный текст и коды в комментариях? поэтому wierd: p – user2475096