Navigation.PopModalAsync() 在 ViewModel ArgumentOutOfRangeException
Navigation.PopModalAsync() in ViewModel ArgumentOutOfRangeException
我正在尝试在用户生日那天向他们显示生日消息。我在他们使用这个登录后立即打开页面。
protected override async void OnDisappearing()
{
await Navigation.PushModalAsync(new BirthdayPage(Navigation));
}
然后,在 BirthdayPageViewModel 中,我尝试将命令设置为 Navigation.PopModalAsync(),以便在单击关闭按钮时关闭页面。
CloseBirthdayPageCommand = new Command(async () => await navigation.PopModalAsync());
出于某种原因,当我这样做时,它抛出一个 ArgumentOutOfRangeException 而不是关闭我的 BirthdayPage。
我觉得这很奇怪,因为我可以将 OnDisappearing 方法更改为此,它会很好地关闭它。
protected override async void OnDisappearing()
{
await Navigation.PushModalAsync(new BirthdayPage(Navigation));
await Navigation.PopModalAsync();
}
当然这可行,但我希望用户能够通过单击按钮关闭页面。非常感谢任何建议。
我可以通过将我的 BirthdayPageViewModel 命令行切换到这个来实现它
CloseBirthdayPageCommand = new Command(async () => await App.Current.MainPage.Navigation.PopModalAsync());
我正在尝试在用户生日那天向他们显示生日消息。我在他们使用这个登录后立即打开页面。
protected override async void OnDisappearing()
{
await Navigation.PushModalAsync(new BirthdayPage(Navigation));
}
然后,在 BirthdayPageViewModel 中,我尝试将命令设置为 Navigation.PopModalAsync(),以便在单击关闭按钮时关闭页面。
CloseBirthdayPageCommand = new Command(async () => await navigation.PopModalAsync());
出于某种原因,当我这样做时,它抛出一个 ArgumentOutOfRangeException 而不是关闭我的 BirthdayPage。
我觉得这很奇怪,因为我可以将 OnDisappearing 方法更改为此,它会很好地关闭它。
protected override async void OnDisappearing()
{
await Navigation.PushModalAsync(new BirthdayPage(Navigation));
await Navigation.PopModalAsync();
}
当然这可行,但我希望用户能够通过单击按钮关闭页面。非常感谢任何建议。
我可以通过将我的 BirthdayPageViewModel 命令行切换到这个来实现它
CloseBirthdayPageCommand = new Command(async () => await App.Current.MainPage.Navigation.PopModalAsync());