嵌套控件+顶部,左侧属性

时间:2010-12-03 14:37:09

标签: silverlight

我有一个silverlight控件c1,其中包含另一个silverlight控件c2 尝试执行以下代码时。

c1.c2.GetValue(Canvas.LeftProperty)
c1.c2.GetValue(Canvas.TopProperty)

结果始终为0。 如何获得相对于主画布的内部控件的Top和Left属性。

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

var transform = c2.TransformToVisual(c1);
var relativePoint = transform.Transform(new Point(0, 0));
var c2left = c1.GetValue(Canvas.LeftProperty) + relativePoint.X
var c2top = c1.GetValue(Canvas.TopProperty) + relativePoint.Y