Я, вероятно, должен просто ответить на вопрос, но, как найти положение элемента относительно другого, возможно, что-то, на что уже был дан ответ (я и другие) здесь и в другом месте в Интернете.
Однакоесли ваша цель - поместить элемент поверх изображения, поместите изображение в Grid
, а затем добавьте элемент как дочерний элемент Grid
.Таким образом, вы назначаете относительное положение над изображением в качестве поля элемента и позволяете системе макета Silverlight делать все остальное.
Как общее правило, если вы чувствуете, что вам нужно написать код для перемещения, когдаразмер вещей изменится, если вы не пишете пользовательскую панель или что-то, что, возможно, неправильно используете систему макетов Silverlight.
Редактировать :
Попробуйте этот эксперимент: -
<Grid x:Name="LayoutRoot">
<Grid x:Name="headerContainer" Margin="50, 60, 0, 0" HorizontalAlignment="Left" VerticalAlignment="Top">
<Image Source="YourLargeImage" />
<Image Source="YourSmallerImage" HorizontalAlignment="Center" VerticalAlignment="Top" />
</Grid>
</Grid>
Теперь попробуйте изменить Margin внутренней сетки, чтобы переместить ее положение вокруг экрана.Обратите внимание, что уменьшенное изображение всегда остается в центре верхней части большого изображения.