Unable to ReLink Arrow Direction Not Updating

I’ve noticed when I manually reshape a link I can drag a segment from one side of the endpoint to the other, the arrow does not change direction as I would expect. I checked the draggable link demo at it behaves the same, so I’m assuming this will be something I will need to implement… How would I go about changing the direction of the arrow?

I’ve run into another issue that comes up when trying to relink… For some reason I am not able to relink the To end of my links (but the From end works properly). Relinkable from and to is set to true on all links, any suggestions for what else could potentially be causing this?

Thanks

So you must be talking about the case where there’s no port spot that determines the link connection point and direction. You’ll need to change the last point in the Link.Route, or the last two points if it’s orthogonal. (“Last” here means point # Route.PointsCount-1 for the “to” end, or point # 0 for the “from” end.)

I can’t explain your problem with the user being unable to relink the “to” end of a selected link. Are both relink handles visible and not overlapping each other?

Here are some captures of the behavior…

Before:

After:

I’m not sure what I would change the points to if I want the points to stay the same?

As for the relinking, both handles are visible and are draggable as expected. Here are some captures of what is happening…

Original link drawing (link snapping to anchors):

Unlink To end, and then trying to relink (not snapping to anchors):

For whatever reason, after also unlinking the From end both ends become relinkable:

What determines whether this linking can occur?

Oh, are you talking about reshaping links that are partly or completely unconnected?
Hmmm, actually, I don’t know that that changes anything w.r.t. route computation.

I think the next-to-last point should indeed be different than what you are seeing now.
I believe your “After:” screenshot is showing that the link goes across and then down, and then towards the left, and then back towards the right for the last segment.
I am suggesting that you change the next-to-last point to be on the right side of the node, although in this case the node is not visible.

Thanks, that fixed the arrow orientation issue… Any ideas what may be causing the relinking issue?

I have no idea.
Have you customized link validation?

I found the issue… I implemented my own IsValidFrom and IsValidTo in order ensure only 1 link be could link to a port, but didn’t realize that with the way I had implemented it the application was checking if both ends of the link were valid and causing the linking to fail when the other end was already connected.

Thanks again for your help.