SubGraph collapsing causes links to disappear


After migration from GoXam Silverlight 1.3 to 2.1 we faced the issue described below. I failed to reproduce it in a “clean” test in a new solution with simple templates and without additional logic. On the other hand everything works fine with 1.3 and goes wrong when I just switch to 2.1.
So I presume it should be a result of interference between new 2.1 changes and some stuff in our project.
If you would suggest me an idea what things can cause such an effect and where shall I look for the reason it would be great.

Here is the description of the problem.

  1. Intended case (worked fine with 1.3)

a) I have four SubGraphs nested inside each other. The 2nd and the 4th ones have custom Ports inside their template. These Ports have a link between them.
b) When I collapse the 3rd subgraph (the 4th one hides) the link is still there pointing to the 3rd one
c) I expand it back and the link points back to its port in the 4th subgraph

  1. Case with GoXam 2.1

a) I have the same four SubGraphs.
b) As I collapse the 3rd one the link disappears.
c) When I expand it back the link is still invisible.

If I examine Diagram.Model.LinksSource collection I find that the link is still there.
If I remove it and add back - it appears in the UI.

If I examine the diagram control with XAML Spy tool - I see that the link has Visibility == Collapsed and is routed to the old (pre-collapse) location of the port.

If you have any ideas why such a behaviour can take place please point it to me. If any additional details are required - I will definitely provide them.

In reviewing the code, there were some changes relating to link visibility and groups, as you can see in the release notes. But the exact behaviors are somewhat complex, so it will take some additional time for us to figure out.

I have sent you email about a new DLL that you can try.

The new dll works fine, thank you.
Is it an official and stable release we can use in our project?

It’s not an official release (yet). But you can certainly use it in your project and distribute it (assuming you have a license).

Yes, we have a license. So we’ll use the new dll. Thank you for your help.