← 返回所有博客文章

对于C1Chart for WPF,本文就来介绍如何针对它做旋转,以及3D轴的旋转。

3D是Chart的ChartType为Ribbon的类型。

1.C1Chart旋转

要旋转C1Chart,我们就需要了解WPF中的变形(RenderTransform)类。

它是为了达到直接去改变某个Silverlight对象的形状(比如缩放、旋转一个元素)的目的而设计的,RenderTransform包含的变形属性成员就是专门用来改变Silverlight对象形状的,它可以实现对元素拉伸,旋转,扭曲等效果,同时变形特效也常用于辅助产生各种动画效果。

而我们要使用的就是RenderTransform类中的RotationTransform,能够让某对象产生旋转变化,根据中心点进行顺时针旋转或逆时针旋转。

代码参考:

<c1:C1Chart.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform/>
                    <RotateTransform Angle="90"/>
                    <TranslateTransform/>
                </TransformGroup>
            </c1:C1Chart.RenderTransform>

 

2.3D轴旋转

将C1Chart的类型设置为ChartType.Ribbon。图表就会出现X,Y,Z三个轴的3D效果。

现在的需求是将X,Y,Z三个轴进行运行时的动态旋转。

这里需要用到一个重要的概念:AxisAngleRotation3D

 

AxisAngleRotation3D类代表特定的轴3D旋转特定的角度。

它的构造函数如下:

名称说明
System_CAPS_pubmethod AxisAngleRotation3D()

创建3D旋转实例

System_CAPS_pubmethod AxisAngleRotation3D(Vector3D, Double)

创建特定轴和特定角度的3D旋转实例 

本文就是用第二种方法,传入特定轴和角度实现旋转。

因此我们就要设置RotateTransform3D.RotationAxisAngelRotation3D。

获取RotateTransform3D并设置的代码参考:

var grid = this.chart.Content as Grid;
            var border = grid.Children[0] as Border;
            var canvas = border.Child as Canvas;
            var chartViewport = canvas.Children[0] as Viewport3D;
            ModelVisual3D mv = chartViewport.Children[0] as ModelVisual3D;
            var transformGroup = mv.Transform as Transform3DGroup;
            var rotation = transformGroup.Children[1] as RotateTransform3D;
            rotation.Rotation = new AxisAngleRotation3D(new Vector3D(0.99379, -0.111, 0), 57.55692);

 

初始化的时候图表显示如下:

 

将轴旋转90度后的效果如下:

 本文所用的示例请下载chart_Rotation.zip (19.60 kb)

 


Chart的在线英文产品文档地址:

http://helpcentral.componentone.com/nethelp/c1wpfchart/#!Documents/componentonechartforwpf.htm

如果你对C1Chart感兴趣,请到我们的官网下载最新版本:/developer/componentone-winform/controls/chart

如果你有疑问,可以到GCDN论坛获得技术支持:http://gcdn.grapecity.com.cn/showforum-68.html

 

另外也可以参考C1Chart的相关文章。

C1Chart for WPF初级教程》系列文章

初遇。Getting Started(上)

初遇。Getting Started(下)

类型。穿Prada的女王(上)

类型。穿Prada的女王(下)

数据。和数据源相关的那些事(一)

数据。和数据源相关的那些事(二)

数据。和数据源相关的那些事(三)

数据。和数据源相关的那些事(四)

标记和标签。撕名牌大战(一)

标记和标签。撕名牌大战(二)

标记和标签。撕名牌大战(三)

导出(PDF,EXCEL) 

多轴图表 

轴的动态绑定

实现轴注释的高级自定义

颜色和大小。数据点的自定义(一)

符号。数据点的自定义(二)

基础介绍。XAML动画(一)

基础介绍。XAML动画(二)

基础介绍。XAML动画(三)

基础介绍。XAML动画(四)