Как установить свойство Поддерживаемые ориентации в Windows Phone 8.1

Я написал приложение для WP 8 некоторое время назад, сейчас я работаю над его обновлением для WP 8.1.

Мои XAML и С# -skills значительно улучшились со времени первого запуска, поэтому я решил переписать его с нуля, чтобы не перекопать старый код noob (да... это не очень).

Одна вещь, с которой я не могу показаться, сводится к тому, как иметь дело с включением и отключением изменений ориентации для приложения. Я нашел способ сделать полное включение/выключение с помощью "Package.appmanifest". Однако это не совсем то, что я знаю.

Я просто написал это в верхней части моих страниц приложения в старой версии:

<phone:PhoneApplicationPage
SupportedOrientations="PortraitOrLandscape"
etc...
etc...
>

Мне это очень понравилось, так как некоторые страницы просто не работали в портретном и альбомном режимах. (Я потратил больше времени, чем я помню, пытаясь заставить его работать...) Но это не сработает в 8.1.

Может ли какая-то душа узнать способ установить желаемую поддержку ориентации на страницу в Windows Phone 8.1?

Ответ 1

Вы могли бы сделать это, если бы вы хотели просто портрет

DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait;

Или это, если вы хотите Портрет и Пейзаж

DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait | DisplayOrientations.Landscape;

Или, если вы хотите просто перевернуть Пейзаж и Пейзаж

DisplayInformation.AutoRotationPreferences = DisplayOrientations.LandscapeFlipped | DisplayOrientations.Landscape;

и т.д. на каждой странице, так что вы можете включить/отключить ориентацию в зависимости от страницы и того, как вы собираетесь ее использовать. Вы можете установить его в обработчике события OnNavigatedTo, например.

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    DisplayInformation.AutoRotationPreferences = DisplayOrientations.LandscapeFlipped | DisplayOrientations.Landscape;

    this.navigationHelper.OnNavigatedTo(e);
}

Подробнее о DisplayInformation.AutoRotationPreferences читайте здесь.