Hi,
Is it possible to display the series in the Column3D chart like the following figure. Could you please show me the sample on How?
I did it using FillOpacity & FillStopOpacity of threeD PE element; I made it lighter to it is now less apperant. Anywhay thanks for your support!
all the polygons like "threeD" in the above code should be added to the end of the SceneGraph. it looks like right now they are inserted next to each column.
That worked for me but now I have one small issue; Three D Effect is appearing before columns..see following image (and also how to add gradient effect in Three D from bottom to top) quick reply will be appriciated...
it is applied at runtime, but i suspect it is applied after your custom layer or FillSceneGraph event handler. i think the only way to synchronize the two things would be to remove the ThreeDEffect and add code in your FillSceneGraph handler to draw the 2D/3D effect.
here is the code used to generate the ThreeDEffect Polygon:
Polygon threeD = new Polygon(new Point[] {
new Point(currentBox.rect.X, currentBox.rect.Y),
new Point(currentBox.rect.X + 5, currentBox.rect.Y - 5),
new Point(currentBox.rect.X + 5 + currentBox.rect.Width, currentBox.rect.Y - 5),
new Point(currentBox.rect.X + 5 + currentBox.rect.Width, currentBox.rect.Y - 5 + currentBox.rect.Height),
new Point(currentBox.rect.X + currentBox.rect.Width, currentBox.rect.Y + currentBox.rect.Height),
new Point(currentBox.rect.X + currentBox.rect.Width, currentBox.rect.Y)
});
By adding ThreeDEffect to the Effects collection to ColumnChart and resizing column size using following code; I get ThreeD Effect extended to original width of column charts; can we apply ThreeD Effect at run tiime?
const int columnWidth = 25;
Box box = e.Primitive as Box;
if (box == null) return;
if (box.DataPoint == null) return;
int dWidth = box.rect.Width - columnWidth;
if (dWidth <= 0) return;
box.rect.Width = columnWidth;
box.rect.X += dWidth / 2;