ObservableCollection DataGrid
-
18-09-2019 - |
Pregunta
I unido a la ObservableCollection ItemsSource dataGrid.
la collectionChangedEvent de la Colección observable está recibiendo llamadas sólo cuando añadimos, borrar, eliminar. Pero no disparar cuando actualizamos el registro.
cómo desencadenar el evento Actualizar también?
Solución
Si desea ser notificado cuando se cambia un elemento (es decir, desea suscribirse a este evento), que están fuera de suerte con ObservableCollection<T>
ya que esta colección sólo dispara el CollectionChangedEvent
.
De hecho, si se implementa INotifyPropertyChanged
, verá los cambios en los elementos de la vista (WPF lo hace automáticamente), pero si es necesario ejecutar acciones manuales cuando un elemento cambia, puede utilizar BindingList<T>
.
En este escenario exactamente lo desplegado un BindableCollection<T>
personalizada, que implementa ObservableCollection<T>
y añade la OnItemChangedEvent
. Puedo proporcionar algunos ejemplos de código si es necesario ...
Otros consejos
La colección no sabe cuando se modifica el registro. Para recibir una notificación cuando esto sucede, el registro tiene que aplicar INotifyPropertyChanged