Frage

Ich habe Grund eine Instanz von Wickeln von ObservableCollection<T> in einem anderen Typ.

Ich implementiere ICollection<T> in meinem neuen Typ. Das ist unkompliziert. Ich implementiere auch INotifyCollectionChanged, was bedeutet implementieren

public event NotifyCollectionChangedEventHandler CollectionChanged;

Der beste Weg, den ich mir vorstellen kann, um dies zu implementieren ICollection<T>, so was:

public void Add(T item)
{
    Collection.Add(item);
    if (CollectionChanged != null) CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, item));
}

(Sammlung ist die Instanz von ObservableCollection<T> dass ich wickle).

Gibt es eine Möglichkeit, die Implementierung von zu nutzen? INotifyCollectionChanged Diese Sammlung bietet, anstatt sie selbst neu zu implementieren?

War es hilfreich?

Lösung

Ja. Wenn Sie den Wert Ihrer zuweisen Collection Eigenschaft oder Feld, Handle es ist Sammelungsveranstaltung:

Collection = new ObservableCollection<T>();
Collection.CollectionChanged += this.HandleCollectionChanged;

Dann erhöhen Sie bei der HandlecollectionChanged -Methode das eigene Sammelereignis des Objekts.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top