C1Chart for WPF旋转和3D轴旋转

发布时间:2016/01/26 00:01 发布者:Alice

返回博客中心

对于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动画(四)


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网