假设我有一个模型类 Data
,我想为它创建 DataViewModel
和 DataView
。数据类如下:
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,那么我只会收到分配给它的新列表的通知。 我如何检查内容的更改? 做这个的首选方式是什么?
感谢您提供任何建议。