Я работаю над приложением Xamarin.Forms, использующим MVVMCross для Android и iOS, и теперь мне нужно выполнить некоторые проверки на сервере, прежде чем приложение будет полностью загружено, и в результате этих проверок мне потребуется представить диалоговое окно подтвержденияс сообщением пользователю и не позволяющим ему продолжить, прежде чем он примет или отменит диалоговое окно.
Вот код проверки, который мне нужен для работы:
public class App : MvxApplication
{
public override void Initialize()
{
//... a lot of Dependencies registering
RegisterCustomAppStart<AppStart>();
}
}
public class AppStart : MvxAppStart
{
private readonly IMvxLog _log;
private readonly IMyApiService _apiService;
public AppStart(IMvxApplication application, IMvxNavigationService navigationService) : base(application, avigationService)
{
_log = Mvx.IoCProvider.Resolve<IMvxLog>();
_apiService = Mvx.IoCProvider.Resolve<IMyApiService>();
}
protected override Task NavigateToFirstViewModel(object hint = null)
{
//This is all the code I need to make work, all these lines are pseudo code
//Do my server side validations
var myObj = await _apiService.staticValidations();
//Here I need to validate myObj, something like:
var result = false;
if(myObj.boolValue)
{
var result = await showConfirmationDialog();
//result should contains the value depending on user's selection: if pressed cancel or ok button
}
//At this point the splashscreen must continue freezed
if(result)
{
var mvxBundle = new MvxBundle(new Dictionary<string, string> {{BaseViewModel.NavigationBarParameter, "false"}});
await navigation.Navigate(myMainViewModel, mvxBundle);
}
else
{
//Other things
}
}
}
Я пыталсяпоказать диалоговое окно подтверждения с использованием некоторых пакетов nuget, но я получил ошибки, поскольку библиотеки пытаются присоединить представление к стеку навигации, и на данный момент стек навигации еще не инициализирован.
Я буду признателен за вашу помощьна этом