【问题标题】:How to navigate from one page to other page in the page constructor in Xamarin forms如何在 Xamarin 表单的页面构造函数中从一页导航到另一页
【发布时间】:2018-01-17 23:01:26
【问题描述】:

我正在使用 xamarin 表单,并且我有一个场景,我有 3 页(内容页)。 在 page1 中单击按钮,我需要转到 page2。并在page2中检查一个标志来决定是留在page2还是重定向到page3。我正在尝试在第 2 页构造函数中执行此逻辑,而我的 NavigationStack 显示为空。请提出建议。

Page2 构造函数:

public Page2()
{
  InitializeComponent();
   If(check==true)
   {    
     Application.Current.MainPage = new NavigationPage(new Page3());
   }
}

【问题讨论】:

    标签: c# xamarin.forms navigation


    【解决方案1】:
    protected override void OnAppearing()
            {
                base.OnAppearing();
                viewModel.InitializeData();
            }
    

    并在初始化数据中写入if条件

    【讨论】:

    • 这个答案与提出的问题无关。
    【解决方案2】:

    您必须使用PushAsync 方法才能不丢失前一个堆栈。您所做的只是使堆栈保持最小大小(1 页)。试试这段代码,但你必须await它,所以你最好不要在构造函数中这样做

    await Application.Current.MainPage.NavigationPage.PushAsync(new NavigationPage(new Page3()));
    

    【讨论】:

    • 我不想在堆栈中维护多个页面,因为我的页面数据量很大。我刚刚遇到了 OnApearing 事件。使用它解决了。
    猜你喜欢
    • 2021-01-09
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    相关资源
    最近更新 更多