This question is locked. New answers and comments are not allowed.
I have a chart thats trying to bind to my MVVM and I keep getting an exception inside the radchart from my seriesmapping binding, since as soon as I remove that binding the exception stops throwing.
Object reference not set to an instance of an object. at Telerik.Windows.Controls.RadChart.ClearDataSeries() in c:\Builds\WPF_Scrum\Release_SL_2010_Q2_SP2\Sources\Development\Controls\Chart\Chart\RadChart.cs:line 1032 at Telerik.Windows.Controls.RadChart.Rebind(Object originalData) in c:\Builds\WPF_Scrum\Release_SL_2010_Q2_SP2\Sources\Development\Controls\Chart\Chart\RadChart.cs:line 1014 at Telerik.Windows.Controls.RadChart.ItemsSourcePropertyChanged(DependencyObject target, DependencyPropertyChangedEventArgs args) in c:\Builds\WPF_Scrum\Release_SL_2010_Q2_SP2\Sources\Development\Controls\Chart\Chart\RadChart.cs:line 852 at Telerik.Windows.PropertyMetadata.<>c__DisplayClass1.<Create>b__0(DependencyObject d, DependencyPropertyChangedEventArgs e) in c:\Builds\WPF_Scrum\Release_SL_2010_Q2_SP2\Sources\Development\Core\Controls\Common\System.Windows\PropertyMetadata.cs:line 200 at System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object oldValue, Object newValue) at System.Windows.DependencyObject.UpdateEffectiveValue(DependencyProperty property, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, ValueOperation operation) at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, Boolean allowReadOnlySet) at Telerik.Windows.Controls.RadChart.set_ItemsSource(Object value) in c:\Builds\WPF_Scrum\Release_SL_2010_Q2_SP2\Sources\Development\Controls\Chart\Chart\RadChart.cs:line 479 at Telerik.Windows.Controls.RadChart.InitializeDesignTimeData() in c:\Builds\WPF_Scrum\Release_SL_2010_Q2_SP2\Sources\Development\Controls\Chart\Chart\RadChart.cs:line 1131 at Telerik.Windows.Controls.RadChart.OnApplyTemplate() in c:\Builds\WPF_Scrum\Release_SL_2010_Q2_SP2\Sources\Development\Controls\Chart\Chart\RadChart.cs:line 716 at System.Windows.FrameworkElement.OnApplyTemplate(IntPtr nativeTarget)<telerikChart:RadChart ItemsSource="{Binding StorageOpsPerSecond}" BorderThickness="0" Controls:StyleManager.Theme="Windows7" Height="300" Margin="3 0 3 0" SeriesMappings="{Binding StorageOpsSeriesMapping, Mode=OneWay}"> <telerikChart:RadChart.DefaultView> <telerikCharting:ChartDefaultView ChartLegendPosition="Bottom"> <telerikCharting:ChartDefaultView.ChartTitle> <telerikCharting:ChartTitle HorizontalContentAlignment="Stretch" Content="Storage Operations Per Second"/> </telerikCharting:ChartDefaultView.ChartTitle> <telerikCharting:ChartDefaultView.ChartLegend> <telerikCharting:ChartLegend x:Name="chartLegend"/> </telerikCharting:ChartDefaultView.ChartLegend> <telerikCharting:ChartDefaultView.ChartArea> <telerikCharting:ChartArea LegendName="chartLegend" EnableAnimations="True"> <telerikCharting:ChartArea.AxisX> <telerikCharting:AxisX LayoutMode="Normal" IsDateTime="True" DefaultLabelFormat="h:mm" AutoRange="True" LabelRotationAngle="60" LabelStep="1" TicksDistance="15"/> </telerikCharting:ChartArea.AxisX> </telerikCharting:ChartArea> </telerikCharting:ChartDefaultView.ChartArea> </telerikCharting:ChartDefaultView> </telerikChart:RadChart.DefaultView> </telerikChart:RadChart>public class StorageServiceViewModel: ServiceViewModelBase{ public List<AzProduct> Products {get; set;} public ObservableCollection<AddRangeObservableCollection<DataPointViewModel>> StorageOpsPerSecond { get; private set; } public List<SeriesMapping> StorageOpsSeriesMapping { get {return Products.Select((t, i) => GetSeriesMapping(i, t.DisplayName)).ToList();} } public StorageServiceViewModel(IAuthenticateService authService, ICustomerService customerService, IMonitorHistoryService monHistoryService, IMonitorCurrentService monCurrentService) : base(authService, customerService, monHistoryService, monCurrentService) { StorageOpsPerSecond = new ObservableCollection<AddRangeObservableCollection<DataPointViewModel>>(); if(IsInDesignMode) { Products =customerService.GetProducts(Guid.Empty); LoadData(); } } public override void LoadData() { foreach (AzProduct product in Products) { StorageProductViewModel spvm = new StorageProductViewModel(product, MonitorCurrentService, MonitorHistoryService); StorageProducts.Add(spvm); StorageOpsPerSecond.Add(spvm.TransactionsPerSecond); spvm.Load(); } } public override void LoadProducts(List<AzProduct> products) { foreach(AzProduct product in products) { if(product.Type == ProductTypes.EMC || product.Type == ProductTypes.NetApp) { Products.Add(product); } } } private SeriesMapping GetSeriesMapping(int index, string displayName) { SeriesMapping mapping = new SeriesMapping(); mapping.CollectionIndex = index; mapping.LegendLabel = displayName; LineSeriesDefinition lsd = new LineSeriesDefinition(); lsd.ShowItemLabels = false; lsd.ShowPointMarks = false; lsd.ShowItemToolTips = true; lsd.ItemToolTipFormat = "#Y"; mapping.SeriesDefinition = lsd; ItemMapping im = new ItemMapping(); im.FieldName = "Timestamp"; im.DataPointMember = DataPointMember.XValue; mapping.ItemMappings.Add(im); im = new ItemMapping(); im.FieldName = "Value"; im.DataPointMember = DataPointMember.YValue; mapping.ItemMappings.Add(im); return mapping; }}