使用MVVM Light的Xamarin表单 - 从堆栈

时间:2018-02-15 11:31:44

标签: c# xamarin.forms mvvm-light

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

我知道这可以使用Navigation.RemovePage开箱即用的Xamarin,但不知道如何在MVVM Lights导航服务中实现这一点。

我在NavigateTo方法中有以下内容,使用参数作为清除堆栈的指示符:

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

我希望我可以从这里开火来清除堆栈以便刷新页面,或者是否有更好的方法可以直接从viewmodel中进行操作?

由于

1 个答案:

答案 0 :(得分:0)

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

SimpleIoc.Default.Unregister<ViewModel>();

这将从缓存和所有先前的实例中完全删除视图模型/绑定。

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