假设我有一个模型类Data
,我想为它创建DataViewModel
和创建DataView
。数据类如下所示:
public class Data
{
public Data()
{
RandomData = new List<String>();
}
public List<String> RandomData {get; set;}
}
我想创建DataViewModel
封装RandomData
属性。我需要RandomData
在某些地方绑定到该属性,ListView
并在底层模型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;}
}
然后我没有收到任何更新。(我知道这只是复制列表,我只是用它来表达观点)。如果我在该属性上使用 INotifyPropertyChanged,RandomData
那么我只会收到分配给它的新列表的通知。我如何检查内容的更改?这样做的首选方法是什么?
感谢您的任何建议