Sliverlight图形控件Visifire使用体会

1.由于项目(sliverlight项目)中要用图形来显示实时或历史数据

  因此,从网上找了些资料,有两种控件比较适合

  1.sliverlight tool kit

  2.visifire

  个人比较喜欢visifire的风格,因此就选择了这个。

2.测试效果

  图1

  Sliverlight图形控件Visifire使用体会

  图2

  Sliverlight图形控件Visifire使用体会

  图3

  Sliverlight图形控件Visifire使用体会

3 代码

1.xaml代码

代码
   
     
< UserControl xmlns:navigation ="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation" x:Class ="YYKJ.ZHGIS.WEB.UserControls.TestChart"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
Width
="500" Height ="400" >
< Grid x:Name ="LayoutRoot" >
< Canvas x:Name ="mainCV" Canvas.Top ="100" Margin ="0,50,0,0" ></ Canvas >
< StackPanel x:Name ="spCover" Width ="100" Height ="25" HorizontalAlignment ="Right" Margin ="0,50,0,0" VerticalAlignment ="Top" Background ="Black" Visibility ="Collapsed" />
</ Grid >
</ UserControl >

其中mainCV是用来放图形的

  spCover是用来遮挡visifire的水印的(效果图没传)

2.C#代码

 

代码
   
     
public void CreateChart(ObservableCollection < ETPiValue > oc)
{
Chart chart
= new Chart();

// 设置主题 有Theme1 Theme2 Theme3
chart.Theme = " Theme3 " ;
// 是否3D显示
chart.View3D = true ;
//
chart.Width = 500 ;
//
chart.Height = 300 ;

// 图形标题
Title title = new Title();
title.Text
= " 测试图形 " ;
chart.Titles.Add(title);

// 图形类型 RenderAs是枚举类型 有很多种图形 如棒图 饼图等等
DataSeries dataSeries = new DataSeries();
dataSeries.RenderAs
= RenderAs.StackedArea;

DataPoint dataPoint;

for ( int i = 0 ; i < oc.Count; i ++ )
{
dataPoint
= new DataPoint();

// Y轴数据
dataPoint.YValue = Convert.ToDouble(oc[i].TagValue);
// X轴名称
dataPoint.AxisXLabel = oc[i].SubName;

// SolidColorBrush sc = new SolidColorBrush();
// sc.Color = new Color { B = 0, G = 0, R = 255, A = 255 };
// dataPoint.Color = sc;
// dataPoint.ToolTipText = "1111";

dataSeries.DataPoints.Add(dataPoint);
}

chart.Series.Add(dataSeries);

mainCV.Children.Add(chart);
// 遮罩层 用于取出水印
spCover.Visibility = Visibility.Visible;
}

基本用法已经写在注释里了,就不做解释了。

纠错:遮罩层 用于挡住水印,代码里打错字...

4 使用前先要把visifire的dll引用进来,再在代码里引用两个命名空间。

5 大家有什么的图形控件一起分享下。

你可能感兴趣的:(live)