Hi,
I have a situation where I need to hide series on a bar chart.
I can hide the series by doing this...
however, the series stays in the legend. So I need to remove it there too.
But this doesn't work... how do I hide the series from the legend as well?
Here's my XAML where I specify 2 series...
And my onload where I hide the series...
Thanks!
Ken
I have a situation where I need to hide series on a bar chart.
I can hide the series by doing this...
//hide unused seriesbarChart.DefaultView.ChartArea.DataSeries[1].Definition.Visibility = SeriesVisibility.Collapsed;however, the series stays in the legend. So I need to remove it there too.
But this doesn't work... how do I hide the series from the legend as well?
barChart.DefaultView.ChartLegend.Items[1].Visibility = Visibility.Collapsed;Here's my XAML where I specify 2 series...
<telerikControls:RadChart x:Name="barChart" Grid.Column="1" Grid.Row="3" Height="475" Width="720" HorizontalAlignment="Left" Background="Transparent" BorderThickness="0" AxisForeground="White" AxisElementBrush="White" > <telerikControls:RadChart.PaletteBrushes> <SolidColorBrush Color="#009ad4" /> <SolidColorBrush Color="#bfe9f5" /> </telerikControls:RadChart.PaletteBrushes> <telerikControls:RadChart.DefaultView> <telerikCharting:ChartDefaultView ChartLegendPosition="Top"> <telerikCharting:ChartDefaultView.ChartArea> <telerikCharting:ChartArea LegendName="ChartLegend1"></telerikCharting:ChartArea> </telerikCharting:ChartDefaultView.ChartArea> <telerikCharting:ChartDefaultView.ChartLegend> <telerikCharting:ChartLegend BorderThickness="0" Header="" x:Name="ChartLegend1" Background="Transparent"> </telerikCharting:ChartLegend> </telerikCharting:ChartDefaultView.ChartLegend> </telerikCharting:ChartDefaultView> </telerikControls:RadChart.DefaultView> <!--SERIES MAPPING --> <telerikControls:RadChart.SeriesMappings> <telerikCharting:SeriesMapping LegendLabel="2011" > <telerikCharting:SeriesMapping.SeriesDefinition> <telerikCharting:BarSeriesDefinition ItemStyle="{StaticResource BarStyle}"></telerikCharting:BarSeriesDefinition> </telerikCharting:SeriesMapping.SeriesDefinition> <telerikCharting:SeriesMapping.ItemMappings> <telerikCharting:ItemMapping FieldName="Title" DataPointMember="XCategory"></telerikCharting:ItemMapping> <telerikCharting:ItemMapping FieldName="Dec" DataPointMember="YValue"></telerikCharting:ItemMapping> </telerikCharting:SeriesMapping.ItemMappings> </telerikCharting:SeriesMapping> <telerikCharting:SeriesMapping LegendLabel="2010"> <telerikCharting:SeriesMapping.SeriesDefinition> <telerikCharting:BarSeriesDefinition ItemStyle="{StaticResource BarStyle}"></telerikCharting:BarSeriesDefinition> </telerikCharting:SeriesMapping.SeriesDefinition> <telerikCharting:SeriesMapping.ItemMappings> <telerikCharting:ItemMapping FieldName="Title" DataPointMember="XCategory"></telerikCharting:ItemMapping> <telerikCharting:ItemMapping FieldName="Dec" DataPointMember="YValue"></telerikCharting:ItemMapping> </telerikCharting:SeriesMapping.ItemMappings> </telerikCharting:SeriesMapping> </telerikControls:RadChart.SeriesMappings> </telerikControls:RadChart>And my onload where I hide the series...
private void UserControl_Loaded(object sender, RoutedEventArgs e) { //perform extra styling on load barChart.DefaultView.ChartTitle.Visibility = Visibility.Collapsed; barChart.DefaultView.ChartArea.AxisY.StripLinesVisibility = Visibility.Hidden; barChart.DefaultView.ChartArea.AxisY.MajorGridLinesVisibility = Visibility.Visible; barChart.DefaultView.ChartArea.AxisY.AxisStyles.ItemLabelStyle = this.Resources["AxisYLabelStyle"] as Style; //attach click event barChart.DefaultView.ChartArea.ItemClick +=new EventHandler<ChartItemClickEventArgs>(ChartArea_ItemClick); //Set itemsource barChart.ItemsSource = ItemsSource.Items; //hide unused series barChart.DefaultView.ChartArea.DataSeries[1].Definition.Visibility = SeriesVisibility.Collapsed;
//doesn't hide legend item...
barChart.DefaultView.ChartLegend.Items[1].Visibility = Visibility.Collapsed; }Thanks!
Ken