在Windows Phone 8上更改方向

本文关键字:方向 Windows Phone | 更新日期: 2023-09-27 18:27:39

我有一个特殊的问题。当我将SupportedOrientations设置为SupportedPageOrientation.Lave时,它会自动将方向更改为LandscapeLeft,但当我尝试将其更改为SupportedPageOrientation.Prait时,它将保持在LandscapeLeftt。

protected override async void OnNavigatedTo(NavigationEventArgs e)
    {
        switch (Settings.OrientationLock)
        {
            case OrientationLock.Rotate:
                this.SupportedOrientations = SupportedPageOrientation.PortraitOrLandscape;
                break;
            case OrientationLock.HorizontalLock:
                this.SupportedOrientations = SupportedPageOrientation.Landscape;
                break;
            case OrientationLock.VerticalLock:
                this.SupportedOrientations = SupportedPageOrientation.Portrait;
                break;
        }
    ...
    base.OnNavigatedTo(e);
}

提前谢谢。

在Windows Phone 8上更改方向

好的,已修复:

case OrientationLock.VerticalLock:
                this.Dispatcher.BeginInvoke((Action)(()=>{
                this.SupportedOrientations = SupportedPageOrientation.Portrait;}));
                break;

出于某种原因,对于其他两种情况来说没有必要。如果有人有解释,我很乐意听到。