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

标签 c# xaml windows-phone-8.1

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

自首次发布以来,我的 XAML 和 C# 技能有了很大提高,因此我决定从头开始重写它,以避免挖掘旧的、菜鸟代码(是的......它并不漂亮)。

我似乎无法理解的一件事是如何处理应用程序的启用和禁用方向更改。我找到了一种使用“Package.appmanifest”完全启用/禁用的方法。然而,这并不是我想要的。

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

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

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

有好心人知道在 Windows Phone 8.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 here 的信息.

关于c# - 如何在 Windows Phone 8.1 中设置支持的方向属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24827697/

相关文章:

c# - 如何计算最短路线?

c# - LINQ 从数据表中选择

c# - 为 Serilog 创建一个包装器

c# - Windows Phone 8.1,旋转视频被裁剪

c# - 在数字中插入 1 位 C#

c# - X 和 Y 方向移动对象动画

xaml - 自定义 Windows 10 UWP 后退按钮

xaml - 找不到名称/键为 PhoneProgressBarBackgroundBrush 的资源

.net - SQLite 安全 Windows Phone 8.1

c# - 适用于 Windows Phone 8.1 的 Facebook 登录