Navigation.PopModalAsync () в ViewModel ArgumentOutOfRangeException - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь отобразить сообщение о дне рождения для пользователя в день его рождения.Я открываю страницу сразу после входа в систему, используя это.

protected override async void OnDisappearing()
{
    await Navigation.PushModalAsync(new BirthdayPage(Navigation));
}

Затем, в BirthdayPageViewModel, я пытаюсь установить команду Navigation.PopModalAsync (), чтобы она закрывала страницу при закрытиинажата кнопка.

CloseBirthdayPageCommand = new Command(async () => await navigation.PopModalAsync());

По какой-то причине, когда я это делаю, вместо закрытия моего BirthdayPage возникает исключение ArgumentOutOfRangeException.

Я нахожу это странным, потому что я могу изменить метод OnDisappearingк этому, и он просто закроет его.

protected override async void OnDisappearing()
{
    await Navigation.PushModalAsync(new BirthdayPage(Navigation));
    await Navigation.PopModalAsync();
}

Конечно, это работает, но я хочу, чтобы пользователь мог закрыть страницу, нажав кнопку.Любые предложения приветствуются.

1 Ответ

0 голосов
/ 19 сентября 2018

Я смог добиться этого, переключив мою командную строку BirthdayPageViewModel на

CloseBirthdayPageCommand = new Command(async () => await App.Current.MainPage.Navigation.PopModalAsync());
...