Is the Diagram actually in a System.Windows.Controls.TabControl?
If not, and if switching “tabs” results in the controls in old tab being unloaded, perhaps you need to set Diagram.UnloadingClearsPartManager to false.
The tabs system we are using are from another controls suite…
I tried setting Diagram.UnloadingClearsPartManager to false but that hasn’t fixed the problem. I’m not sure if it’s relevant, but even though UnloadingClearsPartManageris set to false on my Diagram, when ComputePoints is being called in my route the Route.Link.Diagram.UnloadingClearsPartManager is set to true.
The links are being re-added to the diagram correctly when it gets focus in the PartManager, but something after that is causing the routes to be recalculated… any ideas what the cause might be?
I think the basic problem is that the Diagram is being unloaded and then reloaded.
Any change to the size or position of a node will cause all connected links to be re-routed, as one would expect.
There’s no code in GoXam that sets the Diagram.UnloadingClearsPartManager property.
(The default value is true.)
So I would focus on why/how that property is getting set to true again, if it really is the same Diagram.
Yes, that’s another reason to use different and simpler templates in an Overview, besides the usual performance reasons.
The normal implementation of Overview removes known data-bindings that would cause bad “feedback” that is like what you are seeing. But obviously it can’t know about everything that you have added.