我有一个简单的基于Xamarin表单的应用程序,该应用程序将应用程序提交给服务,我想在其上清除导航堆栈,以便可以输入新的应用程序。我正在使用MVVM灯框架,但内置导航服务没有清除堆栈的方法。
我知道,使用Navigation.RemovePage
开箱即用的Xamarin是可能的,但不确定如何在MVVM Lights Navigation服务中实现此功能。
我在navigateto方法中使用参数作为清除堆栈的指标:
if (parameter == null)
{
foreach (var pageList in _navigation.Pages)
{
//Remove from navigation stack
}
}
我希望我可以从这里发射一些东西来清除堆栈,以便刷新页面,或者有更好的方法可以直接从ViewModel中进行?
谢谢
如果它可以帮助任何人,使用mvvmlight,您可以使用:
SimpleIoc.Default.Unregister<ViewModel>();
这完全删除了从缓存和所有以前的实例中的视图模型/绑定。
我发现只是从堆栈中弹出的(使用Application.Current.MainPage.Navigation.PopAsync();
(没有清除模型数据,只是导航堆栈。