我正在使用MvvmCross 5.6.6。 我正在使用IMvxNavigationService进行导航。 导航以从TabLayoutViewModel查看选项卡的模型:
tasks.Add(NavigationService.Navigate<TabOneViewModel>());
tasks.Add(NavigationService.Navigate<TabTwoViewModel>()); tasks.Add(NavigationService.Navigate<TabThreeViewModel>());
tasks.Add(NavigationService.Navigate<TabFourViewModel>());
await Task.WhenAll(tasks);
所有片段都使用:
[MvxFragmentPresentation(FragmentHostViewType = typeof(DamagePanelView), FragmentContentId = Resource.Id.content_frame, AddToBackStack = true)]
当我关闭主视图模型(TabLayoutViewModel)时,如何关闭(删除)所有选项卡的视图模型(TabOneViewModel,TabTwoViewModel,TabThreeViewModel,TabFourViewModel)?
答案 0 :(得分:0)
您可以使用以下内容:
public virtual Task<bool> Close(IMvxViewModel viewModel)
{
var args = new NavigateEventArgs(viewModel);
OnBeforeClose(this, args);
var close = ViewDispatcher.ChangePresentation(new MvxClosePresentationHint(viewModel));
OnAfterClose(this, args);
return Task.FromResult(close);
}
只需在要关闭主视图模型的代码部分中对要关闭的每个页面执行for