2010-08-16 8 views
7

He creado una colección contenedora para ObservableCollection que se suscribe a cada elemento PropertyChanged y lo vuelve a generar como su propio evento ItemPropertyChanged. Hice esto usando un método similar al que describí here. ¿Hay una mejor manera? ¿Me estoy perdiendo otra colección .NET que ya tiene este tipo de comportamiento?Escuche el evento PropertyChanged de cualquier elemento en un ObservableCollection <INotifyPropertyChanged>

+0

Parece que podría ser bastante caro cuando, por ejemplo, construir una colección muy grande. Espero que haya una mejor opción. – kbrimington

+0

No hay ninguno que haya visto. – bporter

+0

¿Cuál es el propósito de crear su propio evento en lugar de utilizar las interfaces estándar INotifyPropertyChanged/ICollectionChanged? – Goblin

Respuesta

0

Estoy asumiendo que usted está disparando este evento con el fin de calcular un agregado. Tengo una solución diferente a este problema. Considere usar Update Controls with linq. Puede describir declarativamente su agregado con linq, y Update Controls rastreará sus dependencias dentro de su colección. Cada vez que la colección cambia, o cualquiera de las propiedades referenciadas cambia, entonces reevaluará el agregado.

Cuestiones relacionadas