如何一次解除多个(所有)模态?

Bob*_*Bob 5 xamarin.forms

有没有办法解雇多个模态或只是一个一个地解雇:Navigation.ModalPopAsync()

Tim*_*mes 14

我实际上写了一些东西来弹出所有模态.试一试.

int numModals = Application.Current.MainPage.Navigation.ModalStack.Count;
for (int currModal = 0; currModal < numModals; currModal++)
{
    await Application.Current.MainPage.Navigation.PopModalAsync();
}
Run Code Online (Sandbox Code Playgroud)

  • 您还可以将 false 传递给 .PopModalAsync() 以在没有动画的情况下执行此操作 (2认同)

Roh*_*ews 3

对于模态框,您必须一一执行,因为它位于Modal Stack 您可以使用的导航堆栈上Navigation.PopToRootAsync()

您也可以尝试不awaitNavigation.ModalPopAsync()动画传递为 false。

您可以在本论坛帖子PopToRootAsync with Modal中找到更多详细信息