2011-11-13 66 views
1

我正在用C#编写Windows Phone应用程序。我有一个设置OrientationLock,应该锁定屏幕纵向。不幸的是,我无法让我的生活得到它的工作。设置保存和一切,我只是不知道如何改变在C#中支持的方向。这里是我试图使用的代码:更改支持的方向

public MainPage() 
{ 
    InitializeComponent(); 

    if (AppSettings.Default.OrientationLock) 
    { 
     this.SupportedOrientations = SupportedPageOrientation.Portrait; 
    } 
    else 
    { 
     this.SupportedOrientations = SupportedPageOrientation.PortraitOrLandscape; 
    } 
} 

谢谢。

+0

在仿真器和Mango设备上工作得很好。 –

+0

什么不起作用? –

+0

不确定,如果设置已设置,则不锁定方向。 – JacobTheDev

回答

4

最后,如果从设置页面返回,则必须将代码移动到覆盖的OnNavigatedTo方法(在页面类中)以更新支持的方向......构造函数仅调用一次(如果页面不是逻辑删除的)。

+0

啊。好的。所以当设置改变时,它也必须改变。谢谢,我会着眼于此。 – JacobTheDev

+0

是的。这种方式只会检查一次设置(在应用程序启动时),如果您导航到设置页面,更改它并导航回页面,它将不会被更新...如果您将它移动到OnNavigatedTo,它将更新设置每次你不仅浏览一次页面(当构造函数被调用时) –