Необходимо сместить точку привязки контрола на угол квадрата внутри контрола
Имеется самодельный контрол такого типа. Необходимо разместить его на канвасе. Мне известны только координаты верхнего левого угла прямоугольника внутри контрола. Как мне разместить контрол, у которого прямоугольник находится под текстом? Размеры текста заранее не известны. Известен только размер прямоугольника и его координаты. Тест расположен относительно прямоугольника. Вьюмодели контролов хранятся в итемлист. И размещаются на канвасе
<ItemsControl.Styles>
<Style Selector="ItemsControl > ContentPresenter">
<Setter Property="Canvas.Left" Value="{Binding XPosition_Final}"/>
<Setter Property="Canvas.Top" Value="{Binding YPosition_Final}"/>
</Style>
</ItemsControl.Styles>
При этом они могут быть повернуты вокруг этого угла (но это решилось смещением ТрансформОриджин в коде контрола) Не удается только правильно спозиционировать их(

Если текст снизу квадрата, то контрол позиционируется правильно (т.к. верхний левый угол квадрата = верхнему левому углу контрола)
Если текст находится сверху квадрата, то контрол контрол позиционируется по своему верхнему левому углу, а не по углу квадрата. Это не правильное размещение
Требуется разместить контрол вот так.
На руках у меня координаты углов квадрата. Размер текста во вьюмоделе вычислить нет возможности. Пробовал менять трансформ ориджин контрола,не помогло.
Ответы (1 шт):
Внутри контрола получил позицию прямоугольника и задал отрицательный маржин контролу. Все работает как нужно.