I assume you have seen the customized Adornment DataTemplates that are in the DraggableLink sample.
We haven’t yet implemented a NodeReshapingTool, inheriting from ReshapingBaseTool. It would do what you suggest. It would be responsible for dynamically creating the needed reshape handles and the dragging of those handles.
The tool’s UpdateAdornments method is responsible for creating or updating the tool handles used by that tool. If you look at the CustomRotatingTool in the DraggableLink sample, you can see how the typical simple UpdateAdornments method can be implemented. (It needed several overrides because the rotation handle is being placed at a different angle than the value of the Node.RotationAngle, say at -90 degrees instead of at zero degrees.)
You’ll need to override DoMouseMove and DoMouseUp to actually modify the adorned Node’s data property corresponding to the current ReshapingBaseTool.Handle.
Did you search this forum and find the example I created for reshaping lines?
Free Form Arrows
What’s the problem? Is it not being called when you want it to be called?
The problem is that UpdateAdornments gets called many times by various callers.
Well, it should be called often.
I don’t think there’s an easy way to tell why it’s being called.
If you are concerned about performance, you can see if the adornment already exists and just modify it.
I’ll try that. Thanks.