在更改属性时,将绑定到Datagrid的ObservableCollection发送到数据库

时间:2013-06-05 16:26:30

标签: c# wpf mvvm datagrid

我有一个数据网格绑定到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
}

0 个答案:

没有答案