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