从App.cs我将进入我的登录页面(MainPage.xaml),然后想要导航到其他页面?

时间:2016-06-07 12:36:43

标签: xamarin.forms

我从App.cs导航到MainPage.xaml以下是我的App.cs代码

public class App : BaseApplication
{
 public App()
 {
   MainPage = new NavigationPage(new MainPage());
 }
}

在我的MainPage.xaml和后面的代码我正在做以下

    public partial class MainPage:ContentPage
    {
     public MainPage()
     {
      InitializeComponent();
      SetPage();
     }

     async public void SetPage()
     {
        //await Navigation.PushModalAsync(new Login());
        await Navigation.PushAsync(new Login());
        Navigation.RemovePage(this);
    }
}

此代码为我提供了登录页面但不会从堆栈中删除MainPage并保持我的Android后退按钮启用并单击该图标导航我。在某些情况下,我真的想将登录页面设置为起始页面。我也试过App.Current.MainPage = new NavigationPage(new Login());但那也行不通了?

有任何建议如何从我的mainpage.cs动态设置Starting页面,请注意我不想在App.cs中这样做,因为我希望尽可能保持干净?

有关详细信息,请在出现错误时点击this链接

1 个答案:

答案 0 :(得分:1)

我目前有一个解决方案,你想用同样的方法。

我做的是这样的事情:

public async void LoginClick(object sender, EventArgs e){
        try
        {
            //Some logic code here ...
            App.Current.MainPage = new NavigationPage(new HomeView());
        }
        catch (Exception exc)
        {
            DisplayAlert("Error",exc.Message,"OK");
        }
    }
}