假设我有一个模型类Data
,并且我想为它创建DataViewModel
和DataView
。数据类看起来是这样的:当Model List中的列表更改时,ObservableCollection不会更新模型
public class Data
{
public Data()
{
RandomData = new List<String>();
}
public List<String> RandomData {get; set;}
}
我想创建DataViewModel
封装RandomData
财产。我需要绑定到某个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,那么我只会收到分配给它的新列表的通知。我如何检查内容的改变?这样做的首选方式是什么?
谢谢你的任何建议
是的,这是点亮的。似乎我别无选择,只能使用ObservableCollections。 – 2013-03-21 12:06:46