Chart3DControl.ContentTransform Property
Gets or sets the position, rotation angles and scale of the chart.
Namespace: DevExpress.Xpf.Charts
Assembly: DevExpress.Xpf.Charts.v24.2.dll
NuGet Package: DevExpress.Wpf.Charts
Declaration
Property Value
Type | Description |
---|---|
Transform3D | The transform matrix that specifies the position, rotation angles and scale of the chart. |
Remarks
The following example rotates, scales and translates a chart:
<dxc:Chart3DControl x:Name="chartControl">
<dxc:Chart3DControl.ContentTransform>
<Transform3DGroup>
<Transform3DGroup.Children>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="1,0,0" Angle="30" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0,1,0" Angle="20" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0,0,1" Angle="10" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
<ScaleTransform3D ScaleX="1.5" ScaleY="0.8" ScaleZ="1"
CenterX="0" CenterY="0" CenterZ="0" />
<TranslateTransform3D OffsetX="20" OffsetY="30" OffsetZ="80"/>
</Transform3DGroup.Children>
</Transform3DGroup>
</dxc:Chart3DControl.ContentTransform>
<!--...-->
</dxc:Chart3DControl>
The following code applies the same transformations as the markup above but at runtime:
using System.Windows.Media.Media3D;
//...
private void chartControl_Loaded(object sender, RoutedEventArgs e) {
chartControl.ContentTransform = GetContentTransformation();
}
Transform3D GetContentTransformation() {
Transform3DGroup transform = new Transform3DGroup();
transform.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(1, 0, 0), 30)));
transform.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(0, 1, 0), 20)));
transform.Children.Add(new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(0, 0, 1), 10)));
transform.Children.Add(new ScaleTransform3D { ScaleX = 1.5, ScaleY = 0.8, ScaleZ = 1,
CenterX = 0, CenterY = 0, CenterZ = 0 });
transform.Children.Add(new TranslateTransform3D { OffsetX = 20, OffsetY = 30, OffsetZ = 80 });
return transform;
}
For more information about 3D object transformations, see the topic: 3D Transformations Overview
See Also