zoukankan      html  css  js  c++  java
  • 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.Chartingassembly。

    使用Chart控件时:

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

    using Microsoft.Windows.Controls.DataVisualization.Charting;
    其次,创建Chart控件,并设置外观属性;

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

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

                   PieSeries ps = new PieSeries();
                    ps.ItemsSource 
    = new int[] { 123050 };

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

               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必须是可以比较的量.

       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);

  • 相关阅读:
    在字符串中,找出第一个不重复的字符
    servlet/filter/listener/interceptor区别与联系
    Java基础--泛型
    Java基础--访问权限控制符
    Comparable与Comparator的区别
    表示层设计模式:Intercepting Filter(截取筛选器)模式
    Java多线程:线程同步与关键字synchronized
    Java多态-如何理解父类引用指向子类对象
    android 垂直 SeekBar 源代码(VerticalSeekBar)[转]
    回调接口
  • 原文地址:https://www.cnblogs.com/luyujie/p/3480344.html
Copyright © 2011-2022 走看看