【发布时间】:2019-07-02 16:30:51
【问题描述】:
我们的 Xamarin.Forms 项目中有一个 MvxTabbedPage 和子 MvxContentPages。
在 Android 上,我发现我的第一个子页面上的 ViewAppeared 覆盖在第一次显示 MvxTabbedPage 时没有被调用。
切换选项卡时,它随后被正确调用。
我正在为MvxTabbedPage 的PageModel 初始化ViewAppearing 中的PageModels,如下所示:
public override async void ViewAppearing()
{
await ShowInitialViewModels();
base.ViewAppearing();
}
private bool viewModelsInitialised = false;
private async Task ShowInitialViewModels()
{
if (!viewModelsInitialised)
{
await _BusyManager.SetBusy();
var tasks = new List<Task>();
tasks.Add(_MvxNavigationService.Navigate<HomePageModel>());
tasks.Add(_MvxNavigationService.Navigate<MyBenefitsPageModel>());
tasks.Add(_MvxNavigationService.Navigate<ClaimsPageModel>());
tasks.Add(_MvxNavigationService.Navigate<ContactUsPageModel>());
tasks.Add(_MvxNavigationService.Navigate<SettingsPageModel>());
await Task.WhenAll(tasks);
viewModelsInitialised = true;
await _BusyManager.SetUnBusy();
}
}
其他人是否看到过这种行为,和/或我是否应该采取不同的做法?
【问题讨论】:
标签: android xamarin.forms mvvmcross