我有一个数据网格绑定到ObservableCollection<T>
作为其ItemsSource
。然后,每列都绑定到模型中保存的类型T的属性。
当用户更改单元格时,它会更改模型中的属性获取被调用的集合,然后我想将整个ObservableCollection<T>
写入我的数据库,但我无法弄清楚如何使此更改显示在ObservableCollection
所在的ViewModel中。
这是我在模特中的课程。当百分比属性更改时,我只想在ViewModel中使用更新的ObservableCollection<MyObject>
更新数据库。我没有使用DataTable,因为它不是SQL数据库。
class MyObject : INotifyPropertyChanged
{
private string name;
private int percentage;
public int Percentage
{
get
{
return percentage;
}
set
{
percentage = value;
System.Diagnostics.Debug.WriteLine(percentage);
doSomething();
OnPropertyChanged("Percentage");
}
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public MyObject(string name, int percent)
{
Name = name;
Percentage = percent;
}
#region INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(String propertyName)
{
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
protected virtual void NotifyPropertyChanged(String propertyName = "")
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
#endregion
}