项目名称: Silverlight Control Library
开发环境:
Vs 2008(c#) + Silverlight 3.0 Beta + Blend 3.0
代码详情:
程序行总数: 39884 (共269个文件)
代码行总数: 27862 (69.48%)
注释行总数: 7053 (17.59%)
空白行总数: 5186 (12.93%)
代码注释率: 20.20%
控件类型:
1 坐标轴控件
2 点图控件(Bubble Fork Cirlce Ball Triangle)
3 柱图(2D 3D) 支持单维度和多维度,支持正负轴数据展示,支持Animation
4 饼图(2D 3D) 支持Animation
5 区域图
6 折线图
7 Legend
8 TipControl
DEMO在线地址:http://www.shellstone.cn/Chart/home.html
通过鼠标拖拽实现控件页切换.
有几位朋友提到图形的生成方式,关于这个库,里面所有的控件的生成都是来源于具体的数据,所有进一步改进后,我相信是可以应用与实际的项目中的,之前里面的几个小Control也应用到了项目中。
不过当时的SL还是2.0 beta1 , 所有很多的呈现以及数据的支持做的并不是很好。后来改进的时候比较多的参考了Dundas的图形类型和Office的配色。
关于控件生成:
所有的图形都是根据具体的数据进行绘制的。 比如下面就是一个坐标轴初始化的例子,通过这个例子,能看出来这套控件还是将尽可能多的属性进行了封装:
CoordinateAxis axis = new CoordinateAxis();
axis .CanvasHeight = canvasHeight; //高度
axis .CanvasWidth = canvasWidth; //宽度
axis .XAxisTickmarks = CoordinateXData; //x轴数据
axis .MainYAxisData_ = CoordinateYData;//y轴数据
axis .TickMarkAngle = 30.0;
axis .XTickMarkInterval = 1; //x轴点距
axis .YTickMarkInterval = 2; //y轴点距
axis .TipFontSize = 9.0;
axis .XAxisOffsetLeft = XAxisOffsetLeft; //偏移量
axis .Foreground = new SolidColorBrush(coordinateFontColor);
axis .CoordinateGridStyle = enumCoordinateGridStyle.Grid;//坐标轴可选的几种展现方式(网格,单线,无间隔线)
axis .CanvasWidth = canvasWidth; //宽度
axis .XAxisTickmarks = CoordinateXData; //x轴数据
axis .MainYAxisData_ = CoordinateYData;//y轴数据
axis .TickMarkAngle = 30.0;
axis .XTickMarkInterval = 1; //x轴点距
axis .YTickMarkInterval = 2; //y轴点距
axis .TipFontSize = 9.0;
axis .XAxisOffsetLeft = XAxisOffsetLeft; //偏移量
axis .Foreground = new SolidColorBrush(coordinateFontColor);
axis .CoordinateGridStyle = enumCoordinateGridStyle.Grid;//坐标轴可选的几种展现方式(网格,单线,无间隔线)
关于控件库的版本:
这个库在Sl还是Alpha1.1时就开始酝酿,整个开发的过程伴随着SL从Alpha到Beta再到Released,代码经历了N次比较大的变更,期间吸收了很多高手很多非常好的建议,没有他们的指导,这个库恐怕很难成型,感谢。