or
public class Data : INotifyPropertyChanged { private double m_Value; private int m_Period; public event PropertyChangedEventHandler PropertyChanged; public double Value { get { return m_Value; } set { if (m_Value == value) return; m_Value = value; this.OnPropertyChanged("Value"); } } public int Period { get { return m_Period; } set { if (m_Period == value) return; m_Period = value; this.OnPropertyChanged("Period"); } } protected virtual void OnPropertyChanged(string propertyName) { if (this.PropertyChanged != null) this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public class DataPointSeries : INotifyPropertyChanged { private ObservableCollection<Data> m_DataList; public ObservableCollection<Data> DataList { get { return m_DataList; } set { m_DataList = value; OnPropertyChanged("DataList"); } } public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged(string propertyName) { if (this.PropertyChanged != null) this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } }public class ChartsViewModel { private ObservableCollection<DataPointSeries> m_DataPointSeriesCollection; public ObservableCollection<DataPointSeries> DataPointSeriesCollection { get { return m_DataPointSeriesCollection; } set { m_DataPointSeriesCollection = value; } } public void PopulateDataSeriesCollection() { DataPointSeriesCollection = new ObservableCollection<DataPointSeries> { new DataPointSeries { DataList = GetDataPoint(0) }, new DataPointSeries { DataList = GetDataPoint(12.75) }, new DataPointSeries { DataList = GetDataPoint(27.625) }, new DataPointSeries { DataList = GetDataPoint(37.675) }, new DataPointSeries { DataList = GetDataPoint(43.475) } }; } public ObservableCollection<Data> GetDataPoint(double factor) { var dataList = new ObservableCollection<Data>() { new Data { Period = 2002, Value = 15 + factor }, new Data { Period = 2003, Value = 25 + factor }, new Data { Period = 2004, Value = 35 + factor }, new Data { Period = 2005, Value = 55 + factor }, new Data { Period = 2006, Value = 65 + factor }, new Data { Period = 2007, Value = 75 + factor } }; return dataList; } }