WP7 (Windows Phone 7) 在 XAML 或 C# 中锁定手机方向

本文关键字:锁定 方向 手机 XAML Windows Phone WP7 | 更新日期: 2023-09-27 17:56:14

是否可以在Windows Phone 7中手动锁定手机方向?因为我正在使用加速度计通过固定的 UI 处理按钮的旋转。

我试过了:

在 XAML 中

SupportedOrientations="Landscape" Orientation="LandscapeLeft"
OrientationChanged="PhoneApplicationPage_OrientationChanged"

在后面的代码中:

private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
    //Orientation locking
    //Do nothing
}

但是 UI 仍在横向左侧横向右侧之间切换......

谢谢。

WP7 (Windows Phone 7) 在 XAML 或 C# 中锁定手机方向

没有办法阻止LandscapeLeft和LandScapeRight之间的转换。这是设计使然。

作为解决方法,您可以在 OnOrientationChanged 中手动旋转/转换 UIElement,以便用户看不到差异。
我使用这种技术来防止"背景"图像看起来旋转,无论方向如何,但随后有一个单独的控件,它看起来像一个弹出窗口,但确实响应图像顶部显示的方向变化。

嗨,

我通过覆盖OnOrientationChanged方法找到了解决方案。它对我有用。这不会影响系统托盘和应用程序菜单,但页面会停留在所选方向。

protected override void OnOrientationChanged(OrientationChangedEventArgs e)
{
    if (e.Orientation == PageOrientation.LandscapeLeft)
        base.OnOrientationChanged(e);
}

构造函数中InitializeComponent();后添加此this.SupportedOrientations = SupportedPageOrientation.Portrait; MainPage()以在纵向模式下锁定方向。它对我来说效果很好。