Announcement

Collapse
No announcement yet.

Markierte Elemente einer ICollectionView durchlaufen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Markierte Elemente einer ICollectionView durchlaufen

    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:
    Code:
    private ICollectionView listItemsView;
    public ICollectionView ListItemsView
    {
        get { return listItemsView; }
        set { listItemsView = value; ThrowNotification("ListItemsView"); }
    }
    Diese wird aus einer ObservableCollection generiert:
    Code:
    ListItemsView = CollectionViewSource.GetDefaultView(ListItems);
    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:
    Code:
    OrdersCount = ListItemsView.Cast<SinglePosListItemModel>().Where(i => i.Verified).Select(i => i.OrdersAffected).ToArray().Sum();
    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!

    PHP rocks!
    Eine Initiative der PHP Community
Working...
X