WP7 максимальный размер круга для ориентации - PullRequest
0 голосов
/ 05 сентября 2011

В моем приложении 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 не должна всегда увеличиваться до размера своего контейнера?

1 Ответ

0 голосов
/ 05 сентября 2011

Может быть, вам стоит воспользоваться событием OrientationChanged страницы?

Обновлено

Я думаю, что ваш контроль заполняет все доступное пространство. Если вы измените ориентацию, то количество пространства меняется - в результате ваш контроль больше не является квадратом. Этот факт подразумевает, что эллипс меняет свою форму с круга на эллипс, потому что ваш эллипс также пытается заполнить все доступное пространство. Чтобы избежать этого, вы можете установить для свойства Stretch эллипса значение Uniform. Это должно решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...