我在Canvas布局上安排了很多元素,实际上元素代表了一个交互式流程图。在应用转换时,我需要对某些元素进行相对转换。
特别是我需要将一些元素锚定或停靠到其父元素。我找到了不同的解决方案,但我不知道他们是否以最优雅的方式解决了我的问题。
以下是一个例子:
<Line X1="80" X2="800" Y1="730" Y2="730"/>
<Polygon Points="0,30 40,0 40,60" Canvas.Left="48" Canvas.Top="700"/>
Polygon绘制一个三角形,我想让它停靠在线的左侧。这意味着,当将线条平移到新位置或向下缩放时,多边形应随之移动。
这可能吗?
答案 0 :(得分:3)
将它们放在自己的画布上,这样你就可以绝对定位外部画布,并将内部材料放在一起。
像这样:<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>