用于WPF的Telerik UI?下载30天免费试用

RadLegend支持

本主题将为您概述RadChartView提供的RadLegend支持。

有关RadLegend控件的更多信息,请参阅文档部分

图表揭示了一个LegendItems属性,它将被传递到RadLegend的Items属性。LegendItems集合默认情况下是空的,并且不会为一个系列生成任何传奇项目,除非LegendSettings属性。这将生成和添加LegendItem图表的LegendItems集合中的对象。根据LegendSettings和图表系列的默认视觉效果,图表将自动设置LegendItem对象的Title、MarkerStroke、MarkerFill和MarkerGeometry属性。

LegendSetting

每一个图表系列公开LegendSettings属性,该属性允许您确定图例项的外观。图表系列支持两种类型的图例设置。

  • SeriesLegendSettings:所有图表系列都支持。使用设置的系列将生成一个单一的LegendItem。

    设置对象允许你通过它来设置传奇物品的标题标题属性(参见示例2)。

  • DataPointLegendSettings:仅支持BarSeries而且BubbleSeries.将为使用设置的系列中的每个数据点生成一个LegendItem。

    这些设置允许您将标题绑定到数据点模型中的属性。你可以通过TitleBinding财产。属性中的属性名称对应的字符串值数据点对象。

    示例1:将图例项标题绑定到CategoricalDataPoint对象的Category属性

         < telerik: RadCartesianChart。LinearAxis />  < telerik: RadCartesianChart。系列>              

    Rad Chart View-features-radlegend-support-0

这两个图例设置都允许你设置图例项目标记的几何形状。你可以通过MarkerGeometry属性。

代码示例

下面的例子演示了RadLegend和RadCartesianChart之间的合作。在本例中,图表使用调色板为其系列着色,并使用相同的调色板为图例项着色。注意,由于LegendSettings属性还没有设置,上一个系列的传奇项目没有出现。BarSeries被设置为使用DataPointLegendSettings,这就是为什么为每个DataPoint创建一个图例项。如果使用SeriesLegendSettings -只会为BarSeries生成一个项目。

例2:图例设置代码示例

     < telerik: RadCartesianChart。LinearAxis />  < telerik: RadCartesianChart。系列>                              
Rad Chart View-features-radlegend-support-0

如果由图表创建的默认LegendItem对象不适用于您的场景,您可以手动填充图例,而不是使用LegendItems收集。读了开始文章了解如何手动使用LegendItem对象填充控件。

在SeriesProvider中使用RadLegend

在使用SeriesProvider时,您可以通过系列的样式或SeriesCreated事件。下面的例子展示了如何设置SeriesProvider并为每个系列添加SeriesLegendSettings。

例3:定义视图

<网格> <网格。ColumnDefinitions>      < telerik: RadCartesianChart。HorizontalAxis>   < telerik: RadCartesianChart。SeriesProvider>    < !——如果你使用NoXaml,请在Style上设置以下属性- BasedOn="{StaticResource PointSeriesStyle}"——>        < / >

示例4:定义模型

公共类SeriesInfo{公共字符串SeriesName {get;设置;} public ObservableCollection Items {get;设置;}}公共类PlotInfo{公共双值{get;设置;}公共字符串类别{get;设置;}}

示例5:填充数据

private static Random r = new Random();private ObservableCollection GetData() {var source = new ObservableCollection();For (int I = 0;I < 5;i++) {var seriesInfo = new seriesInfo () {SeriesName = "Series " + i, Items = new ObservableCollection()};For (int k = 0;K < 10;k++) {seriesInfo.Items。Add(new PlotInfo() {Category = "C" + k, Value = r.Next(100, 300)});} source.Add (seriesInfo); } return source; }

例6:设置SeriesProvider源

this.seriesProvider.Source = GetData();
Rad Chart View-features-radlegend-support-0
在本文中
Baidu
map