LocationSpot not what it should be

With LocationSpot set to Center the minimal example is working as expected.

I tried it with my application (by the way I have tried it several times). Now it seems to work! All the effects are gone. The rotation-handle is also on the right position.
Do you have an idea what could be the reason for it that it’s working now? Is there some goxam-framework code left in memory? Under the week I haven’t reboot my computer, but on the weekend I switched it off.

The only problem left is a little jump if rotating a single node that was previously rotated and my AlignmentTools-Code doesn’t work anymore ( which seems obviously when changing the location of X,Y ) .

That sounds pretty weird. But I do frequently clear out all of the temporary files that Visual Studio creates. I only check in those files that are required for compiling and running.

Hi Walter,
after a few tests I came to the conclusion that I can not deploy my application with LocationSpot=“Center” that confused the customers to much.

Now I have another idea. As you know I have a converter to converter the Node.Location into my X and Y properties. What do you think - it must be possible to set LocationSpot to Center and then modify the converter this way that he calculate the uses visible X Y to the TopLeft Point and Back. So I have proper X Y values and can use the LocationSpot=Center so that all rotation and resizing is working as everyone expected.
But I have no idea how to pass the node to the converter so that I can use convert and convertback cause converterparameter is not bindable.

It would be simpler to TwoWay bind the Node.Position instead of the Node.Location.

I get a Nested Types are not supported error Node.Bounds

Maybe it is a solution to leave the locationspot TopLeft and in the DoActivate of Rotationtool and ResizingTool set the locationspot to Center, calculate new Location, do the rotate/resize and in DoStop set locationspot back to TopLeft and calculate right location.

Sorry, Node.Bounds is readonly, but Node.Position should be TwoWay bindable.

No, it’s not! “The Property Position is not a DependencyProperty”

And trying to Bind Node.Property.X gives the same error as for the Bounds.X (nested types).

Quite right; I had forgotten that. OK, maybe customizing the ResizingTool would be the best way to go, after all.

I’ll try this and hope this will come to a good end!

Thank you for your help. I very much appreciate that.
Nevertheless, I have to say something:

I still believe, that it would be much better when you fix this in your code.
I can’t accept that a graphical framework which I’ve spent nearly 10000€ for, doesn’t behave right in resizing after rotation which is simply reproducible with your simple WPF Demo. And you will not find anyone to find this behavior right.

Part6

One simple node - first LocationSpot = Center and, after a little pause in the video, LocationSpot = TopLeft. Even the Mousepointer doesn’t “hang” on the resize handles.
This must be fixed in the framework - not in user code!

I had already added this extra functionality as a task for the next minor release (not for the next bug-fix release). But unfortunately I cannot promise when this will happen.

Good to hear!
I’m still fighting with my idea to change the locationspot if rotating or rising. I looks promising, but there are some cases with multiselect and relative resizing that I’m not able to fix at this moment. One problem is that I don’t know in DoResize with properties are always translated or which location respects the locationsport and which not. e.g. AdornedNode.Location and OriginalBounds.Location.
And to make thing worse if some nodes in the collection are rotated and some not.

I hope that I get it working tomorrow.