Moin und frohes neues für alle hier
Ich stehe mal wieder ein wenig auf dem Schlauch, gehe aber mal davon aus, dass ich um zu viele Ecken denke.
Aber alles von vorn...
Grundlage
Ich nutze das INotifyPropertyChanged Interface und habe eine ICollectionView, die auf einer eigenen Modelklasse basiert:
Diese wird aus einer ObservableCollection generiert:
In einem DataGrid lasse ich mir alle Daten anzeigen, das haut bis dahin wie sonst auch hin.
Das Problem
Die Elemente der ICollectionView haben u.a eine CheckBox als Eigenschaft und ich möchte bei jeder Änderung einer der CheckBoxen in der DataGrid einen bestimmten Wert aller Elemente aus der ICollectionView, die in der CheckBox true haben summieren.
Meine Idee war nun sowas:
Da tut sich aber leider nichts, es wirkt so, als ob die Änderung der Checkbox nicht berücksichtigt wird.
Weitere Gedanken
Mir ist natürlich klar, dass ich auch die DataGrid durchlaufen könnte und darüber addieren kann oder aber auch einmal zählen und bei jeder Änderung nur das selektierte Item berücksichtigen und je nach CheckBox addiere oder subtrahiere. Aber ich wundere mich, dass es so nicht funktioniert, den Weg nutze ich eigentlich immer ganz gerne zum zählen, summieren usw. Klappt i.d.R. auch immer, nur bei der ICollectionView mache ich scheinbar irgendwas falsch.
Ich habe auch schon versucht die SourceCollection zum summieren herzunehmen, aber das führte zum gleichen Resultat, nämlich dass nichts passiert.
Wär cool, wenn ihr mal wieder Tipps hättet.
Danke euch!
Ich stehe mal wieder ein wenig auf dem Schlauch, gehe aber mal davon aus, dass ich um zu viele Ecken denke.
Aber alles von vorn...
Grundlage
Ich nutze das INotifyPropertyChanged Interface und habe eine ICollectionView, die auf einer eigenen Modelklasse basiert:
Code:
private ICollectionView listItemsView; public ICollectionView ListItemsView { get { return listItemsView; } set { listItemsView = value; ThrowNotification("ListItemsView"); } }
Code:
ListItemsView = CollectionViewSource.GetDefaultView(ListItems);
Das Problem
Die Elemente der ICollectionView haben u.a eine CheckBox als Eigenschaft und ich möchte bei jeder Änderung einer der CheckBoxen in der DataGrid einen bestimmten Wert aller Elemente aus der ICollectionView, die in der CheckBox true haben summieren.
Meine Idee war nun sowas:
Code:
OrdersCount = ListItemsView.Cast<SinglePosListItemModel>().Where(i => i.Verified).Select(i => i.OrdersAffected).ToArray().Sum();
Weitere Gedanken
Mir ist natürlich klar, dass ich auch die DataGrid durchlaufen könnte und darüber addieren kann oder aber auch einmal zählen und bei jeder Änderung nur das selektierte Item berücksichtigen und je nach CheckBox addiere oder subtrahiere. Aber ich wundere mich, dass es so nicht funktioniert, den Weg nutze ich eigentlich immer ganz gerne zum zählen, summieren usw. Klappt i.d.R. auch immer, nur bei der ICollectionView mache ich scheinbar irgendwas falsch.
Ich habe auch schon versucht die SourceCollection zum summieren herzunehmen, aber das führte zum gleichen Resultat, nämlich dass nichts passiert.
Wär cool, wenn ihr mal wieder Tipps hättet.
Danke euch!