如何在Windows Phone 8.1中设置"支持的方向"属性

Ize*_*Ize 11 c# xaml windows-phone-8.1

我前段时间为WP 8编写了一个应用程序,我正在为WP 8.1更新它.

我的XAML和C#-skills自首次发布以来已经有了很大的改进,所以我决定从头开始重写它,以避免挖掘旧的noob代码(是的......它不是很漂亮).

我似乎无法理解的一件事是如何处理启用和禁用应用程序的方向更改.我找到了一种使用"Package.appmanifest"进行总启用/禁用的方法.然而,这并不是我所追求的.

我只是在旧版本的应用页面顶部写了这个:

<phone:PhoneApplicationPage
SupportedOrientations="PortraitOrLandscape"
etc...
etc...
>
Run Code Online (Sandbox Code Playgroud)

这非常适合我,因为有些页面在纵向和横向模式下都不起作用.(我花了更多的时间来记住尝试使其工作......)但它在8.1中不起作用.

某些善良的灵魂会知道在Windows Phone 8.1中为每页设置所需的方向支持吗?

Igo*_*lic 29

如果你只想要肖像,你可以这样做

DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait;
Run Code Online (Sandbox Code Playgroud)

或者如果你想要肖像和风景

DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait | DisplayOrientations.Landscape;
Run Code Online (Sandbox Code Playgroud)

或者,如果你只想翻拍景观和风景

DisplayInformation.AutoRotationPreferences = DisplayOrientations.LandscapeFlipped | DisplayOrientations.Landscape;
Run Code Online (Sandbox Code Playgroud)

在每个页面上都有,因此您可以根据页面以及打算如何使用它来启用/禁用方向.例如,您可以在OnNavigatedTo事件处理程序中设置它.

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

    this.navigationHelper.OnNavigatedTo(e);
}
Run Code Online (Sandbox Code Playgroud)

在此处阅读有关DisplayInformation.AutoRotationPreferences的更多信息.

  • 这段代码不适用于UWP,为什么呢? (2认同)