我知道我可以得到一个元素相对于它的父元素的位置 top 和 left 使用以下代码:
var generalTransform = childElement.TransformToVisual( parentElement );
var childToParentCoordinates = generalTransform.Transform( new Point( 0, 0 ) );
而且我意识到,如果孩子离开或高于父母,x 和 y 将是负数。
但是我需要的是孩子中心相对于父母中心的点,这样父母的中心被认为是 (0,0) point
。因此,位于其父对象中心上方和左侧的对象将是(负,负)point
,而右侧和下方显然是(正,正)point