2009-10-22 22 views
11

Ho una classe che contiene un elenco:fuoco un evento quando Collection cambiato (aggiungere o rimuovere)

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

voglio creare un evento e fuoco tale evento ogni volta che la mia lista (_Children qui) viene modificato per esempio un articolo viene aggiunto ad esso o rimosso da esso o è cancellato.

grazie

risposta

19

modificare l'elenco a un ObservableCollection<T>. Implementa INotifyCollectionChanged, quindi è possibile iscriversi per modificare gli eventi su di esso.

Un'altra opzione è utilizzare BindingList<T>, se è necessaria la semantica della lista completa.

+8

Una cosa da ricordare a proposito ObservableCollection è un'eccezione se si tenta di aggiungere un elemento ad esso da filo diverso da quello che hai creato su (anche se non si blocca su di esso). –

+0

Ottimo punto, 280Z28. –

Problemi correlati