← 返回所有博客文章

数据。和数据源相关的那些事(二)

 

我们在第一部分数据。和数据源相关的那些事(一)中讨论了数据源是值集合和对象集合的时候,如何使用C1Chart进行数据绑定。

接下来,我们就接着之前的内容,在上个示例的基础上,进行进一步的深入研究。本部分讲述数据源是Ovservable集合的时候,如何进行数据绑定。以及如何动态绑定图表序列。

 

Observable集合

 

WPF下有一个特殊的集合类ObservableCollection,它提供了例如添加,删除或整个列表的刷新。如果以这个类作为图表的数据源,我们在数据源里做出的变化,可以直接影响到C1Chart。

步骤:

 

第一步

我们在页面里添加System.Collections.ObjectModel的namespace,它包含ObservableCollection。同时,也要添加C1.WPF.C1Chart。

C#代码:
using System.Collections.ObjectModel;
using C1.WPF.C1Chart;
 

第二步

声明Point类型的ObservableCollection,

C#代码:
ObservableCollection<Point> points = new ObservableCollection<Point>();
 

第三步

清除所有的图表数据(如果存在的话),而且填充points集合的点。

C#代码:

//Clear chart data

chart.Data.Children.Clear();

//Create dummy data
points.Add(new Point(0, 20));
points.Add(new Point(1, 22));
points.Add(new Point(2, 19));
points.Add(new Point(3, 24));
points.Add(new Point(4, 29));
points.Add(new Point(5, 7));
points.Add(new Point(6, 12));
points.Add(new Point(7, 15));

 

 

第四步

创建XYDataSeries并且绑定到这个集合上,然后添加到图表。

C#代码:
//Setup C1Chart data series
XYDataSeries ds = new XYDataSeries();
ds.Label = "Series 1";
//Bind data series to collection
ds.ItemsSource = points;
//Important to set binding when using ItemsSource
ds.ValueBinding = new Binding("Y");
ds.XValueBinding = new Binding("X");
//Add data series to chart
chart.Data.Children.Add(ds);

 

 

如上代码所示,你可以直接的绑定结合点到data series的ItemSource。很重要的,需要定义ValueBinding(Y)和XValueBinding到Point对象的X,Y属性。

如果你所需要的对象不是Point对象,而是自定义的对象,那么你需要绑定data series值到你指定的属性。然后添加data series到chart的Data集合。

通过这种方式,你可以很容易的添加多个data series。

上述代码的示例如下所示:

ChartWPF_BindObservable.zip (908.27 kb)

 

C1Chart的图表,有很灵活的绑定方式。有可能需求是在图表上动态的绑定一些序列,这些序列的数量有可能是变化的。我们有中文伯克介绍如何在WPF平台下使用C1Chart的SeriesItemsSource快速绑定图表序列。

具体请参考链接中的博客文章:C1Chart的使用:WPF平台下动态绑定图表序列

 

本部分内容到此结束,如果你对图表的数据绑定依然有兴趣,请接着阅读第三部分的内容。

 

C1Chart的在线英文产品文档地址:

http://helpcentral.componentone.com/nethelp/c1wpfchart/#!Documents/componentonechartforwpf.htm

如果你对C1Chart感兴趣,请到我们的官网下载最新版本:/developer/componentone-winform/controls/chart

如果你有疑问,可以到GCDN论坛获得技术支持:http://gcdn.grapecity.com.cn/showforum-68.html

 

C1Chart for WPF初级教程》系列文章

初遇。Getting Started(上)

初遇。Getting Started(下)

类型。穿Prada的女王(上)

类型。穿Prada的女王(下)

数据。和数据源相关的那些事(一)

数据。和数据源相关的那些事(二)

数据。和数据源相关的那些事(三)

数据。和数据源相关的那些事(四)

标记和标签。撕名牌大战(一)

标记和标签。撕名牌大战(二)

标记和标签。撕名牌大战(三)

导出(PDF,EXCEL) 

多轴图表 

轴的动态绑定

实现轴注释的高级自定义

颜色和大小。数据点的自定义(一)

符号。数据点的自定义(二)

基础介绍。XAML动画(一)

基础介绍。XAML动画(二)

基础介绍。XAML动画(三)

基础介绍。XAML动画(四)