【问题标题】:How to tell parent to pop current modal and redirect to NavigationPage如何告诉父母弹出当前模式并重定向到 NavigationPage
【发布时间】:2018-02-03 16:00:44
【问题描述】:

我有一个 Xamarin 应用程序,其中我的 MainPage 是一个导航页(内容页)。在此导航页面中,我打开模式。

在我在 MainPage 中打开的模式中,我想使用 Navigation.PushAsync 但这需要 NavigationPage 上下文,而模式页面不是。

我读到流程是:

  1. 告诉父/调用者弹出当前可见模式
  2. 告诉家长/来电者 导航到我想要的页面,使用Navigation.PushAsync

但是,您如何做到这一点?你如何告诉父母这样做并实际进行导航?

【问题讨论】:

标签: xamarin xamarin.forms


【解决方案1】:

我会使用事件处理程序来完成这项工作:

这是一个示例代码: 应用程序.cs

public class App : Application
{
    public App()
    {

        MainPage = new NavigationPage(new PushedNavigationPage());
    }    

}

PushedNavigationPage 页面:

public class PushedNavigationPage: ContentPage
{       

   public PusehdNavigationPage()
   {


   }        

   public void DoPushModalOnButtonClick()
   {
      var pushedModalPage = new PushedModalPage();
      pushedModalPage.DoPush += HandleDoPush;
      Navigation.PushModalAsync(pushedModalPage);
   }

   private void HandleDoPush(object sender, EventArgs e)
   {
       Navigation.PopModalAsync();
       Navigation.PushAsync(//the page you want to push)
   }
}

PushedModalPage

public class PushedModalPage : ContentPage
{
   public event EventHandler DoPush;  
    //call this on putton click or whenever you want
    private void OnDoPush()
    {
        if (DoPush!= null)
        {
            DoPush(this, EventArgs.Empty);
        }
    }     
}

我还没有等待异步方法,但最好这样做,这只是一个例子,但我认为你应该明白这一点..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-12
    • 2011-06-30
    • 2011-07-31
    • 1970-01-01
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多