【发布时间】:2018-02-15 11:31:44
【问题描述】:
我有一个简单的基于 Xamarin 表单的应用程序,它向服务提交应用程序,我想在该服务上清除导航堆栈,以便可以输入新的应用程序。我正在使用 MVVM Light 框架,但内置导航服务没有清除堆栈的方法。
我知道使用 Navigation.RemovePage 的开箱即用 Xamarin 可以做到这一点,但不确定如何在 MVVM Lights 导航服务中实现这一点。
我在 NavigateTo 方法中有以下使用参数作为指标来清除堆栈:
if (parameter == null)
{
foreach (var pageList in _navigation.Pages)
{
//Remove from navigation stack
}
}
我希望我可以从这里触发一些东西来清除堆栈以便刷新页面,或者有更好的方法,可能直接来自视图模型?
谢谢
【问题讨论】:
-
如果你的
_navigation字段是Xamarin.Forms.NavigationPage,你可以使用_navigation.PopToRootAsync() -
这确实从堆栈中删除了所有内容,但是我的表单仍然显示以前的应用程序数据,就好像它们被缓存了一样?
标签: c# xamarin.forms mvvm-light