Ich habe eine ObservableCollection<LegEventItems>
, die Elemente enthält. Ich habe eine Zeitleiste, in der ich das früheste Datum in dieser Sammlung für die Periode Anfang Eigentum erhalten muss. Ich bin nicht sicher, was der beste Weg ist, dies zu tun.C#/WPF Bindung an das früheste Datum in der Sammlung
Ich möchte dies alles in XAML (mit Ausnahme der Erstellung von Eigenschaften oder Konvertern) wenn möglich tun. Ich habe versucht, einen Konverter zu erstellen und verwenden Sie es wie so:
{Binding Source={x:Static cs:CurrentData.LegEventItems}, Converter={StaticResource earliestDateCnv}}
Das Problem ist, die Werte nicht in den Konverter aktualisiert. Es wird einmal aufgerufen, wenn die Timeline zum ersten Mal gerendert wird. Wenn jedoch mehr Objekte aus der beobachtbaren Sammlung entfernt/entfernt werden, wird sie nicht aktualisiert.
Ich habe INotifyPropertyChanged
auf den LegEventItems bereits aufgenommen. Irgendeine Idee?
Die Bindung wird nicht ausgelöst, wenn Elemente der Auflistung hinzugefügt oder aus ihr entfernt werden, weil das Auflistungsobjekt nicht ersetzt wird. Sie sollten Ihrem Ansichtsmodell eine EarliestLegEventItem-Eigenschaft hinzufügen. – Clemens
@Clemens Ich verwende MVVM nicht. Was würde eine Eigenschaft wie diese auch aktualisieren, wenn ein Gegenstand entfernt/hinzugefügt wird? Es müsste ständig aktualisiert werden, da ich Gegenstände von überall her hinzufügen lasse. – James
Verwenden Sie keine statische Eigenschaft - ich bezweifle ernsthaft, dass sie Teil des INotifyPropertyChanged-Mechanismus sind, da es sich bei Schnittstellen beispielsweise um Dinge handelt. – hoodaticus