Quote:can I hook it with DiagramView.PaintControl
If you mean that in order to display nested diagrams inside your nodes, you could try calling the Diagram.Draw method in order to render a diagram as part of node's rendering. Or call Diagram.CreateImage and display the resulting bitmap.
These won't make the nested diagram interactive - if you need to also edit embedded diagrams, you could open a temporary DiagramView as an in-place editor in response to UI events.
Alternatively, you could try moving whatever you are currently displaying in nested diagrams to ContainerNodes.
So consider some variations of:
- create a custom component class, e.g. NestedDiagramComponent, and call diagram.Draw from ComponentBase.Draw override. Alternatively, show exported diagram image using ImageComponent. Then you could add the component to a CompositeNode along with other UI components.
- create a custom node class that overrides DrawLocal, or set CustomDraw property on ShapeNode and handle DrawNode event. Call diagram.Draw to render nested diagram inside the host node. Alternatively, show exported diagram image by setting ShapeNode.Image. You could use grouping to attach a CompositeNode with smaller UI elements to the host node.
- display current nested diagram contents in ContainerNodes instead. Attach composite node to container for extra UI.
Regards,
Slavcho
Mindfusion