public class PricingGrpModel
{
public string Name { get; set; }
public string Description { get; set; }
}
private ObservableCollection<PricingGrpModel> _myCollection;
public ObservableCollection<PricingGrpModel> myCollection
{
get { return _myCollection; }
set { _myCollection= value; OnPropertyChanged("myCollection"); }
}
myCollection.CollectionChanged += new NotifyCollectionChangedEventHandler(myCollection_CollectionChanged);
void myCollection_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
try
{
switch (e.Action)
{
case NotifyCollectionChangedAction.Add:
break;
case NotifyCollectionChangedAction.Remove:
break;
}
}
catch(Exception exception)
{
}
}
Ich habe 'myCollection' ObservableCollection an DataGrid ItemsSource gebunden. Das Ereignis Sammeländerung wurde ausgelöst, während die Zeile hinzugefügt oder entfernt wurde. Aber ich konnte die Änderungen des vorhandenen Zeilenwerts nicht verfolgen. Wie kann ich benachrichtigt werden, wenn die Eigenschaft eines Objekts in einer ObservableCollection geändert wurde?Wie Werte in ObservableCollection in WPF (MVVM) bearbeitet werden
Sie möchten 'PricingGrpModel' implementieren' INotifyPropertyChanged'. https://msdn.microsoft.com/en-us/library/system.componentmodel.inotify-propertychangeed(v=vs.110).aspx –
nur zur Klarstellung: ObservableCollection ist nicht bewusst, bestimmte Änderungen an den Elementen, kann ObservableCollection Sie informieren nur über die Änderungen an sich, z neue Gegenstände oder entfernte Gegenstände. Daher, wie Chris Wohlert kommentierte, müssen Sie INotifyPropertyChanged in PricingGrpModel implementieren, um mit Änderungen an einzelnen Objekten umgehen zu können. –
Die "PricingGrpModel" -Klasse ist eine Entity-Klasse, sie ist aus EF generiert. Wie könnte ich 'INotifyPropertyChanged' implementieren? – Dinesh