2014-02-06 44 views
1

我有這個頁面在WP8如何找到位置控制相對於第二控制

<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 我怎樣才能知道這位置? 謝謝。

回答

2

你可以得到你的相對位置是這樣的:

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

relativePosition有XY屬性,您可以閱讀即可。

TransformToVisual(UIElement visual)是類UIElement的motehod,它允許您讀取任何UIElement相對於其他UIElement的位置。例如,您可以將相對位置閱讀爲LayoutRoot(網格)。

+0

relativePosition.X和relativePosition.Y總是返回0.如果我設置'Point relativePosition = myTransform.Transform(new Point(1,1));'它們返回1 –

+0

@Std_Net正如我測試過的,沒有這樣的問題,總能得到正確的價值。有點奇怪 - 你的圖像左上角沒有彼此相交? – Romasz

+0

Image1拉伸到網格Image2的尺寸爲100x100,水平和垂直對齊= center,我在這裏使用ViewportControl也許有問題? –

相關問題