← 返回所有博客文章

数据。和数据源相关的那些事(四)-绑定到XML数据源

这部分内容我们一直在讲数据绑定.

本章我们就来逐步介绍如何将C1Chart绑定到XML数据源。

在XAML页面下有一个XML数据源,我们需要将C1Chart控件绑定到xml数据。数据展示了一个简单的bar图表信息,有一个Y轴代表城市的名称,和X轴代表每一个国家的统计。

图表使用一个系列来画统计数据。一个legend用来展示统计颜色。

在本章中用到的最主要的绑定是使用在XAML代码中的ChartData类,具体请参考本章的第五步。

 

绑定C1Chart到xml的步骤如下:

第一步

在VisualStudio里创建WPF工程,更多的初始化的信息,可以参考初遇。Getting Started(上)章节。

 

第二步

在Window页面创建一个资源部分,然后添加xml数据提供者。在资源部分直接插入xml数据。xml数据必须在<x:Xdata>内,而且有一个单一个的根节点。在本例中,这个根节点市Cities。

<Grid.Resources>             <XmlDataProvider x:Key="data" XPath="Cities/City">                 <x:XData>                     <Cities xmlns="">                         <City>                             <CityName>Mumbai</CityName>                             <Population>13000000</Population>                         </City>                         <City>                             <CityName>Karachi</CityName>                             <Population>11600000</Population>                         </City>                         <City>                             <CityName>Delhi</CityName>                             <Population>11500000</Population>                         </City>                         <City>                             <CityName>Isanbul</CityName>                             <Population>11200000</Population>                         </City>                     </Cities>                 </x:XData>             </XmlDataProvider>         </Grid.Resources>

第三步

给工程添加C1.WPF.C1Chart引用并且添加C1Chart到Window页面。

 

第四步

改变C1Chart的类型为Bar。(ChartType=Bar)。有关C1Chart类型,可以参考类型。穿Prada的女王(上)章节。

 

第五步

在<c1chart:C1Chart.Data>标签里给ChartData添加ItemNameBinding属性,指定元素的名称。在本例中,就是在y轴的标签。在DataSeries 里添加ValueBinding属性,指定序列的数值。如下的示例使用绑定扩张绑定了ChartData.ItemsSource属性,用来指定资源。ChartData.ItemNameBinding属性使用绑定扩展来指定路径。DataSeries.Label属性使用绑定扩展指定数据统计的路径。

XAML代码如下:

<c1:C1Chart  Height="300"  HorizontalAlignment="Left" Margin="0" Name="c1Chart1" ChartType="Bar" VerticalAlignment="Top" Width="600">          <c1:C1Chart.Data>              <c1:ChartData ItemsSource="{Binding Source={StaticResource data}}"  ItemNameBinding="{Binding XPath=CityName}">                  <c1:DataSeries Label="Population"  ValueBinding="{Binding XPath=Population}" />              </c1:ChartData>          </c1:C1Chart.Data>                <c1:Legend DockPanel.Dock="Right" />      </c1:C1Chart>

 

第六步

运行工程,保证程序的正确性。

图表如下所示:

 

 

第七步

改变图表的样式。

在C1Chart的ChartView.AxisX属性中,我们需要设置x轴的数字显示格式,这要通过annotation,这样数据可以用千位符分割。如下的代码展示这个功能。

另外可以使用MajorGridStroke/MinorGridStroke属性来设置major/minor的线。有关Gridlines的详细介绍,可以参考本系列的文章:初遇。Getting Started(下)

同样的,可以在上面链接的文章中找到如何给系列更改颜色,比如这个例子,设置Palette="Civic"来更改系列的颜色。

最后的效果如下图所示:

本章示例如下所示:

ChartWPF_BindingXML.zip (317.02 kb)

 

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动画(四)