我怎样才能得到左派和左派Silverlight Canvas子项的顶级属性值

时间:2011-01-14 20:26:12

标签: c# silverlight

我有一个带有2个孩子的画布 - 一个图像和一个矩形。

我可以按如下方式获取Rectangle的高度:

rectangle.Height

我也可以像这样得到Rectangle的高度:

inkCanvas1.Children[1].GetValue(Canvas.HeightProperty)

但是当我尝试获取Rectangle的Left(或Top)属性时:

inkCanvas1.Children[1].GetValue(Canvas.LeftProperty)

它只返回零。

我也试过这个:

Canvas.GetLeft(inkCanvas1.Children[1])

并且也返回零。

我确定的是,Rectangle的Left和Top属性不为零(尤其是因为我可以看到Rectangle并将其移动)。

解决任何人?

1 个答案:

答案 0 :(得分:0)

我以为我会复活这个问题因为我现在遇到了类似的困难。如果我将图像添加到画布并将拉伸属性设置为均匀,它也会自动使图像居中。现在,如果我在图像上绘制一个矩形并对其进行除垢以从底层位图获得ROI,那么我得到了错误的区域。这是因为图像居中,我的代码假设图像的左上角是0,0。困难在于我无法获得图像的实际左上角,因为上面的代码只返回0,0。我似乎也找不到一种方法来强制图像位于左上角位置0,0以便我的代码可以工作。我觉得令人沮丧的是,任何东西都可以坐在画布上的某个位置,但是没有办法退出那个位置。有没有人对此有任何解决方案?