xamarin - 是否可以弹出一个模式页面然后立即推送一个新页面?
问题描述
我已经尝试过了,但它不起作用
private async void SignUpLink_OnTapped(object sender, EventArgs e)
{
await Navigation.PopModalAsync();
await Navigation.PushModalAsync(new SignUp());
}
解决方案
模态页面对象一旦被弹出就会被销毁,因此您可以使用此解决方法,因为当您使用 PopModalAsync() 时,它将在调用页面(您从中呈现模态页面的那个页面)中触发 OnAppearing() 事件)。因此,要在从模态页面返回后做某事,在您的情况下,这似乎只是呈现另一个模态页面,您可以:
public class NonModalCallingPage
{
private bool ReturnedFromModalPage = false;
private async void YourButtonClickedToOpenFirstModal (object sender, EventArgs e)
{
ReturnedFromModalPage = false;
await Navigation.PushModalAsync(new NavigationPage(new FirstModalPage()));
ReturnedFromModalPage = true;
}
protected override async void OnAppearing()
{
base.OnAppearing();
if (ReturnedFromModalPage)
{
ReturnedFromModalPage = false;
await Navigation.PushModalAsync(new SignUp());
}
}
}
推荐阅读
- java - 使用 CrudRepository 方法 findById(Long Id) 时是否可以更改列名?
- linux - Linux 中 mv 命令的使用
- php - 使用 SSL+AUTH 发送 PHP PEAR 邮件失败
- vue.js - 具有命名空间模块和未知突变类型的 Vuejs
- swift - 解析格式为 yyyy-MM-dd'T'HH:mm:ss'Z' 的 rfc 3339 日期字符串返回 nil
- firebase - 我应该直接查询我的 Firebase 数据库,还是使用 Cloud Functions?
- r - Dplyr 管道操作获得最小值
- python-3.x - Python Selenium 没有点击按钮
- python - Python跨平台清屏问题
- python - 如何遍历数组的一部分,为什么我的循环不起作用?