В моем приложении WP7 у меня есть пользовательский элемент управления с сеткой и эллипсом в корне макета:
<Grid x:Name="LayoutRoot">
<Grid x:Name="grdCircle">
<Ellipse x:Name="elCircle" Stroke="#FFB91515" Margin="5"/>
</Grid>
</Grid>
Я опускаю это на своей главной странице в приложении WP7, и оно отлично смотрится в альбомном режиме, но когда я переключаюсь в портретный режим, ширина увеличивается, а высота уменьшается, так что это больше не круг. Я хочу, чтобы круг имел максимальный размер, независимо от ориентации, и при этом оставался кругом.
Я пытался поместить событие SizeChanged в LayoutRoot и установить ширину / высоту grdCircle так, чтобы она была меньше - фактическая ширина LayoutRoot или фактическая высота LayoutRoot, но как только я это сделаю, изменение ориентации не произойдет. событие SizeChanged LayoutRoot больше не существует, потому что LayoutRoot также становится меньше. Как я могу гарантировать, что мой эллипс всегда будет кругом и будет увеличиваться / уменьшаться в зависимости от ориентации?
Edit:
По умолчанию сетка LayoutRoot должна иметь горизонтальное и вертикальное выравнивание, установленное на растяжение с полями 0, поэтому разве сетка LayoutRoot не должна всегда увеличиваться до размера своего контейнера?