Поведение привязки / закрепления в WPF на макете Canvas - PullRequest
1 голос
/ 28 марта 2011

Я довольно свободно размещаю множество элементов в макете Canvas, фактически они представляют собой интерактивную блок-схему. Поскольку преобразования применяются, мне нужны относительные преобразования для некоторых элементов.

Особенно мне требуется, чтобы некоторые элементы были привязаны или пристыкованы к их родительским элементам. Я нашел разные решения, но не знаю, решат ли они мою проблему самым элегантным способом.

Вот пример:

<Line X1="80" X2="800" Y1="730" Y2="730"/>
<Polygon Points="0,30 40,0 40,60" Canvas.Left="48" Canvas.Top="700"/>

Полигон рисует треугольник, и я бы хотел, чтобы он пристыковался с левой стороны линии. Это означает, что при переводе линии в новую позицию или при ее уменьшении полигон должен двигаться вместе с ней.

Возможно ли это?

1 Ответ

3 голосов
/ 28 марта 2011

поместите их в свой собственный холст, таким образом, вы можете расположить внешний холст абсолютно и сохранить внутренний материал вместе.

вот так:

<Canvas>
    <Line X1="60" X2="820" Y1="60" Y2="760"> <!--some other line--> </Line>
    <Canvas Canvas.Left="48" Canvas.Top="700">
        <Polygon Points="0,30 40,0 40,60"/>
        <Line X1="32" X2="752" Y1="30" Y2="30"/>
    </Canvas>        
</Canvas>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...