Our application is similar to the dynamic port sample with the addition that there are group nodes. Each group node can contain one or more child nodes. Only internal nodes will have ports and will be doing linking. The group node just wraps the child nodes.
The linking requirement is when we create a new link between two child nodes, then it should route avoiding other child nodes. When using “Avoid Nodes” we are getting strange results.
- We store the route points so that the links are restored in the next startup.
- After a new Node is added and its location determined using our custom logic, their layout id is set as none to prevent misplacement during relayout.
- To remember link reshapes, the linkreshapingtool:DoReshape is overridden and AdornedLink.Route.Adjusting is set as LinkAdjusting.End
A solution taking care of the above mentioned constraints would be helpful.