Xamarin不会从堆栈中删除页面

时间:2018-01-19 14:15:21

标签: xamarin xamarin.forms

我正在尝试使用解耦模型从Xamarin Forms堆栈页面中删除页面,其中我从View模型连接到从IPageService接口继承的PageService类,但不幸的是页面不会被删除。

我无法弄清楚为什么此方法不会从堆栈中删除所需的页面。它表现得好像什么也没发生过。当我调试它时,堆栈计数在RemovePage方法执行之前和之后保持不变。

    public void RemovePageFromStack(int position)
    {
        var navigation = Application.Current.MainPage.Navigation;
        var navStack = navigation.NavigationStack;
        var stackCount = navStack.Count();
        navigation.RemovePage(navStack[stackCount - position]);
     }

有没有人见过这个作品?感谢。

1 个答案:

答案 0 :(得分:0)

不知道为什么,但如果你像这样写它就有效。

    public void RemovePageFromStack(int position)
    {
        var navigation = Application.Current.MainPage.Navigation;
        var navStack = navigation.NavigationStack;           
        var stackCount = navStack.Count();
        var page = navStack[stackCount - position];
        navigation.RemovePage(page);
    }