silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight实用窍门系列:14.Visifire图表控件的使用一(图表的创建和基础使用)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

     在实际项目开展中,往往会牵扯到需要绘制图表的情况。而Visifire是一个比较美观大方的第三方图表控件,本文会讲述如何初步使用Visifire控件。         首先我们需要从Visifire的官方网站下载:http://www.visifire.com/,新建一个项目,引入SLVisifire.Charts.dll。在MainPage.xaml.cs代码中添加代码:using Vi
@H_419_0@
@H_419_0@

     在实际项目开展中,往往会牵扯到需要绘制图表的情况。而Visifire是一个比较美观大方的第三方图表控件,本文会讲述如何初步使用Visifire控件。

        首先我们需要从Visifire的官方网站下载:http://www.visifire.com/,新建一个项目,引入SLVisifire.Charts.dll。在MainPage.xaml.cs代码添加代码:using Visifire.Charts;

        准备工作做好了,此时我在这里直接编写了一个函数如下:

 

 
 
  1. /// <sumMary
  2.      /// 创建一个图表 
  3.      /// </sumMary
  4.      /// <param name="tablename">表名字</param> 
  5.      /// <param name="updatetiR_557_11845@e">时间段的集合</param> 
  6.      /// <param name="value">对应时间段集合的值</param> 
  7.      /// <param name="row">本表在主Grid里面的ROW值</param> 
  8.      /// <param name="column">本表在主Grid里面的column值</param> 
  9.      /// <param name="rihgtStr">Y轴的后缀</param> 
  10.      /// <param name="tspan">时间段间隔</param> 
  11.      /// <param name="charTinterval">图表两点之间的间隔</param> 
  12.      /// <param name="intervaltype">图表的X轴坐标按什么来分类,如时分秒</param> 
  13.      public void CreateChart(String tableName, List<datetiR_557_11845@e> UPDATETime, List<String> value, int row, int columnString rihgtStr, TimeSpan tspan, int charTinterval, IntervalTypes intervaltypE) 
  14.      { 
  15.          // 创建一个图标 
  16.          Chart chart = new Chart(); 
  17.  
  18.          // 设置图标的宽度和高度 
  19.          chart.Width = 500; 
  20.          chart.Height = 400; 
  21.          chart.ToolBarEnabled = true
  22.  
  23.          // 设置图标的属性 
  24.          chart.ScrollingEnabled = false
  25.          chart.View3D = true
  26.  
  27.          // 创建一个标题的对象 
  28.          titltitle = new title(); 
  29.  
  30.          // 设置标题名称 
  31.          title.Text = tableName; 
  32.          title.Padding = new Thickness(0, 10, 5, 0); 
  33.  
  34.          // 向图标添加标题 
  35.          chart.titles.Add(titlE)
  36.  
  37.          // 初始化一个新的Axis 
  38.          Axis xAxis = new Axis(); 
  39.  
  40.          // 设置axis的属性 
  41.          //图表的X轴坐标按什么来分类,如时分秒 
  42.          xAxis.IntervalType = intervaltype; 
  43.          //图表中的X轴坐标间隔如2,3,20等,单位为xAxis.IntervalType设置的时分秒。 
  44.          xAxis.Interval = charTinterval; 
  45.          //设置X轴的时间显示格式为7-10 11:20 
  46.          xAxis.ValueFormatString = "hh:mm:ss"
  47.          //给图标添加Axis 
  48.          chart.AxesX.Add(xAxis); 
  49.          Axis yAxis = new Axis(); 
  50.          //设置图标中Y轴的最小值永远为0 
  51.          yAxis.AxisMinimum = 0; 
  52.          //设置图表中Y轴的后缀 
  53.          yAxis.Suffix = rihgtStr; 
  54.          chart.AxesY.Add(yAxis); 
  55.          for (Int32 j = 0; j < 1; j++) 
  56.          { 
  57.              // 创建一个新的数据线。 
  58.              DataSeries dataSeries = new DataSeries(); 
  59.  
  60.              // 设置数据线的格式。 
  61.              dataSeries.RenderAs = renderAs.Line; 
  62.              dataSeries.XValueType = ChartValueTypes.datetiR_557_11845@e; 
  63.              // 设置数据点 
  64.              DataPoint dataPoint; 
  65.  
  66.              for (int i = 0; i < UPDATETime.Count; i++) 
  67.              { 
  68.                  // 创建一个数据点的实例。 
  69.                  dataPoint = new DataPoint(); 
  70.  
  71.                  // 设置X轴点 
  72.                  dataPoint.XValue = UPDATETime[i]; 
  73.  
  74.                  //设置Y轴点 
  75.                  dataPoint.YValue = double.Parse(value[i]); 
  76.                  dataPoint.MarkerSize = 8; 
  77.                  dataPoint.Tag = tableName.Split('(')[0]
  78.                  //设置数据点颜色 
  79.                 // dataPoint.Color = new SolidColorBrush(Colors.LightGray); 
  80.                  dataPoint.MouSELEftButtonDown += new MouseButtonEventHandler(dataPoint_MouSELEftButtonDown); 
  81.  
  82.                  //添加数据点 
  83.                  dataSeries.DataPoints.Add(dataPoint)
  84.          @R_450_8787@ 
  85.  
  86.              // 添加数据线到数据序列。 
  87.              chart.Series.Add(dataSeries); 
  88.          } 
  89.  
  90.          //将生产的图表增加到Grid,然后通过Grid添加到上层Grid. 
  91.          Grid gr = new Grid(); 
  92.          gr.Children.Add(chart); 
  93.          Grid.SetRow(gr, row); 
  94.          Grid.Setcolumn(gr, column); 
  95.          gr.Margin = new Thickness(5); 
  96.          gr.VerticalAlignment = VerticalAlignment.Top
  97.          gr.HorizontalAlignment = HorizontalAlignment.Left
  98.          //增加一个遮罩层到gr,将visifire的水印遮掉。 
  99.          StackPanel sp = new StackPanel(); 
  100.          sp.Width = 160; 
  101.          sp.Height = 18; 
  102.          sp.Margin = new Thickness(0, 3, 6, 0); 
  103.          sp.VerticalAlignment = VerticalAlignment.Top
  104.          sp.HorizontalAlignment = HorizontalAlignment.Right
  105.          sp.BACkground = new SolidColorBrush(Colors.WhitE)
  106.          gr.Children.Add(sp)
  107.  
  108.          LayoutRoot.Children.Add(gr); 
  109.  @R_450_8787@ 

        通过此函数我们可以很方便的创建了一个Visifire图表,其创建的步骤那些我在这里不细说,大家直接看源码上的注释就可以了。因为我使用的 Visifire是免费的版本,所有会有水印,在使用的过程中可以创建一个白色背景的StackPanel来遮盖住水印的位置。在这函数执行的时候,还 为每个DataPoint点加载了一个点击事件,处理当这些点被点击之后触发的事件(在事件里面获取DataPoint的X轴,Y轴等,以便进行相关操 作),其源码如下:

 
 
  1. void dataPoint_MouSELEftButtonDown(object sender, MouseButtonEventArgs E) 
  2. { 
  3. DataPoint dp = sender as DataPoint; 
  4. messageBox.Show(dp.YValue.ToString()); 
  5.  
  6. 复制代码 
  7.  
  8.         最后我们模拟一个内存使用率的图标,设置了8个时间点的8个内存使用值的初始值。在MainPage.xaml.cs的主函数中我们编写以下代码: 
  9.  
  10. public MainPage() 
  11. { 
  12. InitializeComponent(); 
  13. //模拟的8个时间点 
  14. List<datetiR_557_11845@e> DTimeList = new List<datetiR_557_11845@e>() 
  15. { 
  16. new datetiR_557_11845@e(2010,2,15,7,11,03), 
  17. new datetiR_557_11845@e(2010,12, 
  18. new datetiR_557_11845@e(2010,13,14,16,17,18,03) 
  19. }; 
  20. //模拟的8个内存使用率值 
  21. List<String> strList = new List<String>() { "20""55""40""70""57""12""49""60" }; 
  22. //按照1分钟的间隔来显示X轴坐标之间的数字。每隔20秒为一个单位长度,Y轴值的后缀为"%" 
  23. CreateChart("内存使用率", DTimeList, strList, 0, "%", new TimeSpan(0,20) , 1, IntervalTypes.minutes); 

        一个Visifire图表的组成如下图:

Silverlight实用窍门系列:14.Visifire图表控件的使用一(图表的创建和基础使用)

         由上图我们可以看出一个Visifire图表由 (title,ChartGrid,Ticks,PlotArea,TrendLind,ToolTip,AxisLabels,Axis,DataSeries,DataPoint,Legend) 组成。每个部分都是一个类,所以我们在使用Visifire过程中,如果有什么需要修改的地方,直接在后台创建图表的时候,修改相应的类就可以了。

        本实例有VS2010+Silverlight 4.0编写,点击 SLVisifire.rar 下载实例源码。下面贴出本实例运行效果图:

Silverlight实用窍门系列:14.Visifire图表控件的使用一(图表的创建和基础使用)

大佬总结

以上是大佬教程为你收集整理的Silverlight实用窍门系列:14.Visifire图表控件的使用一(图表的创建和基础使用)全部内容,希望文章能够帮你解决Silverlight实用窍门系列:14.Visifire图表控件的使用一(图表的创建和基础使用)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。