Xamarin.Forms.Navigation.PopAsync()不会弹出页面

时间:2017-01-21 06:25:03

标签: c# xamarin xamarin.forms xamarin.ios

在Xamarin.Forms中,当我们使用Navigation.PopAsync()时,该页面不会在iOS中弹出。

PopAsync()之后,同一页面仍然存在。

1 个答案:

答案 0 :(得分:8)

调用正确的弹出方法

如果您使用Navigation.PushAsync()将页面推送到导航堆栈,请使用Navigation.PopAsync()将页面弹出导航堆栈。

如果您使用Navigation.PushModalAsync()将页面推送到导航堆栈,请使用Navigation.PopModalAsync()将页面弹出导航堆栈。

使用BeginInvokeOnMainThread

所有UI更新必须在主线程上完成。要确保在主线程上发生此请求,请使用BeginInvokeOnMainThread

Device.BeginInvokeOnMainThread(async () => await Navigation.PopAsync());

Device.BeginInvokeOnMainThread(async () => await Navigation.PopModalAsync());