[英]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.