I created a class that inherits Canvas, and overriden ArrangeOverride() to position elements based on some new attached properties in addition to Canvas.Left and Canvas.Top
However, when I drag child elements in the WPF designer (Blend or Visual Studio / Cider), it attempts to set Canvas.Left and Top to values that would constitute to a correct position have I not implemented custom positioning rules. This leads to child control
jumping to an incorrect position the moment I start dragging it.
So supposedly I need to tell WPF how to convert onscreen coordinates back to property values, but how do I do that?
I understand how to create and register a design-time helper assembly, and looked through tutorials on implementing custom adorners, but was unable to find a way to influence an existing built-in sizing/moving adorner of the designer.
Any clues, urls, books, etc. are welcome -- I've been searching for weeks with no results!
Please do not suggest RenderTransform -- it works, but leads to other glitches with the designer -- however that's a topic for another question