使用 MVVM Light 的 Xamarin Forms - 从堆栈中删除导航页面

Xamarin Forms using MVVM Light - Remove Navigation pages from stack

我有一个简单的基于 Xamarin 表单的应用程序,它向服务提交应用程序,我想在该服务上清除导航堆栈,以便可以输入新的应用程序。我正在使用 MVVM Light 框架,但内置的导航服务没有清除堆栈的方法。

我知道开箱即用的 Xamarin 使用 Navigation.RemovePage 是可能的,但不确定如何在 MVVM Lights 导航服务中实现它。

我在 NavigateTo 方法中使用参数作为清除堆栈的指示符:

if (parameter == null)
{
    foreach (var pageList in _navigation.Pages)
    {
        //Remove from navigation stack                                   
    }
}   

我希望我可以从这里触发一些东西来清除堆栈,以便刷新页面,或者是否有更好的方法,可能直接从视图模型?

谢谢

如果它对任何人有帮助,使用 MVVMLight,您可以使用:

SimpleIoc.Default.Unregister<ViewModel>();

这将从缓存和所有以前的实例中完全删除视图 model/bindings。

我发现只是从堆栈中弹出,(使用Application.Current.MainPage.Navigation.PopAsync();)并没有清除模型数据,只是导航堆栈。