にバインドされたデータグリッドがありObservableCollection<T>
ますItemsSource
。次に、各列は、モデルに保持されている T 型のプロパティにバインドされます。
ユーザーがセルを変更すると、モデルのプロパティが変更され、呼び出されたセットが取得されObservableCollection<T>
、データベース全体に書き込みたいのですが、この変更が配置されているビューモデルに表示されるようにする方法がわかりませんObservableCollection
。
これはモデルの私のクラスです。ObservableCollection<MyObject>
パーセンテージ プロパティが変更されたときに、ViewModel で更新されたデータベースを更新したいだけです。SQL データベースではないため、DataTable は使用していません。
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
}