【发布时间】:2013-03-09 23:22:15
【问题描述】:
假设我有一个模型类Data,我想为它创建DataViewModel 和DataView。数据类如下所示:
public class Data
{
public Data()
{
RandomData = new List<String>();
}
public List<String> RandomData {get; set;}
}
我想创建封装RandomData 属性的DataViewModel。我需要在一些ListView 中绑定到RandomData 属性,并在底层模型的RandomData 更改时更新它。
如果我这样做:
public class DataViewModel
{
private Data _data;
public DataViewModel(Data data)
{
_data = data;
RandomData = new ObservableCollection<String>(_data.RandomData);
}
public ObservableCollection<String> RandomData {get; set;}
}
然后我没有收到任何更新。 (我知道这只是复制列表,我只是用它来表达观点)。如果我在 RandomData 属性上使用 INotifyPropertyChanged,那么我只会收到分配给它的新列表的通知。我如何检查内容的更改?这样做的首选方法是什么?
感谢您的任何建议
【问题讨论】:
标签: c# wpf mvvm mvvm-light observablecollection