Navigation.PopAsync与PushModalAsync?

时间:2019-06-16 16:17:35

标签: xamarin.forms

我正在为现有应用程序提供一些支持。这是一个非常大的应用程序,几个页面都在使用一个基本控制器,该控制器的名称就像所有事件和表单内容的控制器一样。

问题是此应用程序是在xamarin 2.0上完成的,并且从未更新版本,现在我将xamarin表单更新为实际的4.0版本,并且某些功能有所不同。但令我更困扰的问题是Navigation.PopAsync。 在2.0中,它将关闭所有“窗口”,无论是模式窗口还是普通窗口都没有关系。

但是现在使用xamarin 4.0,模态窗口不会关闭。

有没有办法知道导航中的当前窗口是模式窗口还是类似窗口的窗口?

致谢。

1 个答案:

答案 0 :(得分:2)

您可以像这样检查它是否出现在Navigation.ModalStack的顶部:

 private bool IsModal(Page page)
    {
        if (page == Navigation.ModalStack[Navigation.ModalStack.Count])
        {
           // is modal page
            return true;
        }
        else
        {
           //not modal page
            return false;
        }
    }