【问题标题】:Support landscape orientation in one page universal app wp8.1一页通用应用wp8.1支持横向
【发布时间】:2014-08-06 12:16:19
【问题描述】:

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

【问题讨论】:

    标签: c# xaml windows-phone-8.1 win-universal-app


    【解决方案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;
        }
    

    【讨论】:

      猜你喜欢
      • 2015-06-14
      • 2020-01-26
      • 2015-08-23
      • 1970-01-01
      • 1970-01-01
      • 2011-05-16
      • 1970-01-01
      • 2017-02-15
      • 1970-01-01
      相关资源
      最近更新 更多