We are tying two bind Chart Series dynamically based on selected cell of above grid. Everything is working fine except LegendLabel is coming "Series0" and Series1. I see here that legend label is coming right if we bind our viewmodel statically in xaml but if we assign viewmodel as DataContext through code then legend label does not work.
Here is my code how I am doing.
Now my chart on view is like this
And here is my ViewModel Properties.
Here is my code how I am doing.
MacroVal.MacroValCoorelation view = new MacroVal.MacroValCoorelation(); view.DataContext = new MacroVal.MacroValCoorelationViewModel(processor); //here I have to pass one input parameter in view modelview.showDialog()Now my chart on view is like this
<telerik:RadChart Name="radChart1" ItemsSource="{Binding CorrelationChartData}" Grid.Row="2" BorderThickness="0" BorderBrush="Transparent"> <telerik:RadChart.SamplingSettings> <telerik:SamplingSettings SamplingThreshold="400" /> </telerik:RadChart.SamplingSettings> <telerik:RadChart.DefaultView> <telerik:ChartDefaultView ChartLegendPosition="Bottom"> <telerik:ChartDefaultView.ChartLegend> <telerik:ChartLegend x:Name="chartLegend" Header="" UseAutoGeneratedItems="True" Background="Transparent" BorderThickness="0"> </telerik:ChartLegend> </telerik:ChartDefaultView.ChartLegend> <telerik:ChartDefaultView.ChartArea> <telerik:ChartArea LegendName="chartLegend"> <telerik:ChartArea.AxisX> <telerik:AxisX DefaultLabelFormat="M/d/yy" LabelRotationAngle="90"> </telerik:AxisX> </telerik:ChartArea.AxisX> </telerik:ChartArea> </telerik:ChartDefaultView.ChartArea> </telerik:ChartDefaultView> </telerik:RadChart.DefaultView> <telerik:RadChart.SeriesMappings> <telerik:SeriesMapping LegendLabel="{Binding CurrentIndicatorName}"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" ShowPointMarks="False" LegendDisplayMode="SeriesLabel"> </telerik:LineSeriesDefinition> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping DataPointMember="XValue" FieldName="Date" /> <telerik:ItemMapping DataPointMember="YValue" FieldName="Value1" /> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> <telerik:SeriesMapping LegendLabel="{Binding PreIndicatorName}"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" ShowPointMarks="False" LegendDisplayMode="SeriesLabel" /> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping DataPointMember="XValue" FieldName="Date" /> <telerik:ItemMapping DataPointMember="YValue" FieldName="Value2" /> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> </telerik:RadChart.SeriesMappings> </telerik:RadChart>And here is my ViewModel Properties.
public List<LOB.DateValuesChartData> CorrelationChartData { get { return _ChartData; } } public string CurrentIndicatorName { get { return _CurIndicatorName; } } public string PreIndicatorName { get { return _PrevIndicatorName; } }