支持横向方向在一页通用应用程序wp8.1

本文关键字:应用程序 wp8 一页 横向 方向 支持 | 更新日期: 2023-09-27 18:16:34

如果我在Package.appxmanifest文件中设置支持的方向为纵向和横向,则WP8.1的默认行为会在我移动设备(旋转模拟器)时自动改变布局。

我想在每页的基础上启用此行为(或者,在某些页面上禁用它)。

我尝试使用这个RT示例- http://msdn.microsoft.com/en-us/library/windows/apps/dn263110.aspx - '如何停止使用LayoutAwarePage':

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    this.Loaded += PageLoaded;
    this.Unloaded += PageUnloaded;
 }
 private void PageUnloaded(object sender, RoutedEventArgs e)
 {
     Window.Current.SizeChanged -= Window_SizeChanged;
 }
 private void PageLoaded(object sender, RoutedEventArgs e)
 {
     Window.Current.SizeChanged += Window_SizeChanged;
 }
 private void Window_SizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
 {
 // layout my ui
 }

但是,无论我是否将分辨率添加到清单中,都不会调用window_sizechange。

支持横向方向在一页通用应用程序wp8.1

好吧,我应该更仔细地搜索一下。在运行时执行:

   protected override void OnNavigatedTo(NavigationEventArgs e)
    {
      Windows.Graphics.Display.DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait
                                                                            | DisplayOrientations.Landscape
                                                                            | DisplayOrientations.PortraitFlipped;
    }

,然后取消

效果
 protected override void OnNavigatedFrom(NavigationEventArgs e)
    {
      Windows.Graphics.Display.DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait;
    }