2009-10-22 10 views
11

tengo una clase que contiene una lista:desencadenar un evento cuando colección modificada (añadir o eliminar)

public class a 
{ 
private List<MyType> _Children; 
public Children 
{ 
get {return(_Children);} 
set {_Children = value ;} 
} 
} 

Quiero crear un evento y el fuego de ese evento cada vez que se cambia mi lista (_children aquí) para ejemplo, un artículo se agrega o se elimina de él o se borra.

gracias

Respuesta

19

Cambiar su lista a una ObservableCollection<T>. Implementa INotifyCollectionChanged, por lo que puede suscribirse para cambiar eventos en él.

Otra opción es usar BindingList<T>, si necesita una semántica de lista completa.

+8

Una cosa para recordar acerca de ObservableCollection es que será una excepción si intenta agregar un elemento a la misma a partir de hilos distinta de la que ha creado entre la activación (si está o no bloqueo en ella). –

+0

Muy buen punto, 280Z28. –

Cuestiones relacionadas