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 series
barChart.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