如何在Xamarin.Forms页面暂停/恢复后恢复导航堆栈

时间:2014-10-27 19:39:24

标签: c# xamarin.ios xamarin xamarin.forms

我只是习惯了Xamarin.Forms并且似乎找不到在暂停/恢复后恢复导航堆栈的标准方法(比如设备旋转时)。

我正在使用MVVM和Xamarin.Forms.Labs的东西,所以我可以获得一个IXFormsApp,并获得Resumed等的触发器,但我不明白我的意思是如何在我的应用程序中恢复导航堆栈? / p>

例如,如果我有我的HomeView和HomeViewModel,它有一个项目的列表视图。有人单击列表视图项,它导航到我的ItemView和ItemViewModel。然后用户旋转屏幕 - 如何将它们恢复到原来的位置?

有人能指出我正确的方向吗?

由于

马特

1 个答案:

答案 0 :(得分:1)

事实证明,Xamarin.Forms 1.2(可能还有1.3)的当前答案是为你的android活动添加以下更改。

您的MainActivity看起来像这样:

[Activity(Label = "SomeName", MainLauncher = true, Theme = "@android:style/Theme.Holo.Light")]
public class MainActivity : XFormsApplicationDroid
{
...
}

您需要告诉Android不要在屏幕尺寸或方向更改期间销毁和恢复您的活动:

[Activity(Label = "SomeName", MainLauncher = true, Theme = "@android:style/Theme.Holo.Light", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : XFormsApplicationDroid
{
...
}

Xamarin.Forms将在其自己的布局中处理某种程度的方向更改。