在WP8中如何找到相对于第二个控件的控件的位置

时间:2014-02-06 13:54:24

标签: c# windows-phone-7 windows-phone-8 windows-phone

我有这个页面

<ViewportControl x:Name="Viewport" Grid.Row="0" Grid.RowSpan="2" SizeChanged="Viewport_SizeChanged">
     <Grid>
         <Image x:Name="Image1" Stretch="Uniform" CacheMode="BitmapCache"/>
         <Image x:Name="SeconImg" Grid.Row="0" Grid.RowSpan="2"/>
     </Grid>
</ViewportControl>

我需要知道SeconImg相对于Image1的位置

示例:enter image description here 我怎么知道这个位置? 感谢。

1 个答案:

答案 0 :(得分:2)

你可以得到这样的相对位置:

GeneralTransform myTransform = SeconImg.TransformToVisual(Image1);
Point relativePosition = myTransform.Transform(new Point(0, 0));

relativePosition具有XY属性,您可以阅读它们。

TransformToVisual(UIElement visual)是类UIElement的motehod,它允许您读取任何UIElement相对于其他UIElement的位置。例如,您可以读取LayoutRoot(网格)的相对位置。