I have created a simple diagram with a start node, container node, and end node. When I add children to the container node and apply a TreeLayout, the children are not arranged. I have also tried adding the children to a DiagramItemsCollection and applying the layout to those. This results in the children being pulled out of the container completely. How do I perform the layout of the children in the container? Here is the code I have tried:
ShapeNode n1 = dgmWorkflow.Factory.CreateShapeNode(0, 0, 30, 30, MindFusion.Diagramming.Silverlight.Shapes.Start); ContainerNode n2 = dgmWorkflow.Factory.CreateContainerNode(0, 0, 150, 150); ShapeNode n2_1 = dgmWorkflow.Factory.CreateShapeNode(0, 0, 30, 30, MindFusion.Diagramming.Silverlight.Shapes.Arrow1); ShapeNode n2_2 = dgmWorkflow.Factory.CreateShapeNode(0, 0, 30, 30, MindFusion.Diagramming.Silverlight.Shapes.Arrow2); ShapeNode n3 = dgmWorkflow.Factory.CreateShapeNode(0, 0, 30, 30, MindFusion.Diagramming.Silverlight.Shapes.Terminator);
n2.Children.Add(n2_1); n2.Children.Add(n2_2);
dgmWorkflow.Factory.CreateDiagramLink(n1, n2); dgmWorkflow.Factory.CreateDiagramLink(n2, n3); dgmWorkflow.Factory.CreateDiagramLink(n2_1, n2_2);
var layout = new MindFusion.Diagramming.Silverlight.Layout.TreeLayout(); layout.Direction = MindFusion.Diagramming.Silverlight.Layout.TreeLayoutDirection.TopToBottom; layout.LinkStyle = MindFusion.Diagramming.Silverlight.Layout.TreeLayoutLinkType.Cascading3; layout.Arrange(dgmWorkflow);
DiagramItemCollection items = new DiagramItemCollection(); items.Add(n2_1); items.Add(n2_2); layout.Arrange(dgmWorkflow, items);
|