C#编程方式使用Silverlight toolkit Chart

一、基础介绍

Silverlight ToolKit是微软发布的基于Microsoft-Public License(MS-PL)许可协议的控件集。MS-PL许可协议允许商业或非商业的发布,所以我们可以很方便地将该ToolKit应用于Silverlight 项目。

要使用Silverlight ToolKit:首先,您需要从http://www.codeplex.com/Silverlight下载最新的Dll文件或者源代码;然后在您的silverlight项目中添加引用;最后,您就可以创建ToolKit中提供的控件了。

二、使用Chart控件

采用XAML语言或者XAML+代码方式使用Chart控件的示例较为普遍,本文将简单介绍如何采用代码编程方式使用Chart。

Chart是Silverlight ToolKit中用于图表化展现数据的控件,位于Microsoft.Windows.Controls.DataVisualzation.Charting assembly。

使用Chart控件时:

首先,添加对Microsoft.Windows.Controls.DataVisualzation.Charting 名称空间的引用。

ContractedBlock.gif ExpandedBlockStart.gif Code
using Microsoft.Windows.Controls.DataVisualization.Charting;

 

其次,创建Chart控件,并设置外观属性;

ContractedBlock.gif ExpandedBlockStart.gif Code
            Chart chart = new Chart();
            chart.SetValue(Grid.RowProperty, 
1);
            
this.LayoutRoot.Children.Add(chart);

 

第三步、创建DynamicSeries数据,Silverlight ToolKit中的Chart可以表现棒图(BarSeries)、柱状图(ColumnSeries)、点图(ScatterSeries)和折线图(LineSeries),在使用这些图时必须首先创建相对应的Series。

ContractedBlock.gif ExpandedBlockStart.gif Code
                PieSeries ps = new PieSeries();
                ps.ItemsSource 
= new int[] { 123050 };

 

最后、将创建的DynamicSeries添加入Chart的ItemSource。

ContractedBlock.gif ExpandedBlockStart.gif Code
                chart.Series.Add(ps);

程序运行结果如下:

在项目中使用时,数据这块应该会稍微复杂一点,我们首先需要明白的两个概念:

IndependentValue 和 DependentValue

IndependentValue 和 DependentValue分别通过IndependentValueBinding和DependentValueBinding属性绑定。IndependentValue表示您需要考察的量的名称,而DependentValue表示每个IndependentValue的数量,例如上面图例中,{1,2,3,4}就是IndependentValue,而对应的DependentValue为{1,2,30,50}。

使用Chart中还需要注意的是:

LineChart和ScaterChart对应的数据LineSeries.IndepdenValue 和 ScatterSeries.IndepdenValue必须是可以比较的量。

ContractedBlock.gif ExpandedBlockStart.gif Code
                LineSeries lineSeries = new LineSeries();

                System.Windows.Data.Binding keyBinding 
= new System.Windows.Data.Binding();
                keyBinding.Path 
= new PropertyPath("Key");
                lineSeries.IndependentValueBinding 
= keyBinding;

                System.Windows.Data.Binding valueBinding 
= new System.Windows.Data.Binding();
                valueBinding.Path 
= new PropertyPath("Value");
                lineSeries.DependentValueBinding 
= valueBinding;

                lineSeries.ItemsSource 
= new KeyValuePair<DateTime, int>[] {

                   
new KeyValuePair<DateTime, int>(DateTime.Now, 9), 

                   
new KeyValuePair<DateTime, int>(DateTime.Now.AddDays(1), 8), 

                   
new KeyValuePair<DateTime, int>(DateTime.Now.AddDays(3), 6), 

                   
new KeyValuePair<DateTime, int>(DateTime.Now.AddDays(2), 9), 

                   
new KeyValuePair<DateTime, int>(DateTime.Now.AddDays(4), 8

                    };

                chart.Series.Add(lineSeries);

上面代码的运行结果: 

 

转载于:https://www.cnblogs.com/steelwhite/archive/2008/12/29/1362890.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值