繁体   English   中英

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

[英]Support landscape orientation in one page universal app wp8.1

如果我在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_SizeChanged。

好吧,我的谷歌搜索应该更加彻底。 要在运行时执行此操作:

   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;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM