WP7 - вращение только некоторого объекта при изменении ориентации - PullRequest
2 голосов
/ 01 сентября 2011

Есть ли способ остановить вращение элемента управления (или их группы) при изменении ориентации?

Мне не нужно поворачивать игровую доску, но было бы удобно, если бы остальная часть экрана (другие элементы графического интерфейса, такие как всплывающие окна и т. Д.) Вращалась автоматически, и мне не пришлось бы поворачивать их вручную.

Я знаю, что могу изменить ориентацию всего и затем повернуть только холст с помощью GameBoard с помощью RotateTransform, но довольно трудно найти его центральную точку и правильно повернуть.

РЕДАКТИРОВАТЬ: Теперь я вижу, что если я хочу автоматическое изменение ориентации какого-либо элемента управления, мне придется самому поворачивать игровую доску. Так есть ли простой способ найти точку центра для RotateTransform элемента управления?

1 Ответ

1 голос
/ 01 сентября 2011

Я думаю, вы должны сделать это вручную.Вы говорите Silverlight, а не XNA, верно?Silverlight сделает все возможное, чтобы вращать вещи для вас.Простое изменение ориентации приведет к тому, что Silverlight снова естественным образом выполнит макет с новыми размерами экрана (и ось устройства перевернута).

Вам придется выполнять ручное вращение элементов управления, если вы хотите, чтобы они оставались ориентированными.

Это может быть полезно: http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/04/08/automatic-rotation-support-or-automatic-multi-orientation-layout-support-for-windows-phone.aspx

Есть ссылка наPDF, который также может быть полезен в нижней части этой страницы.Однако, боюсь, вам придется вручную повернуть их.

Вы также можете рассмотреть возможность блокировки ориентации.

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