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

问题描述 投票:0回答:1

在Xamarin.Forms中,当我们使用

Navigation.PopAsync()
时,页面在iOS中不会弹出。

PopAsync()
之后,仍保留相同的页面。

c# .net xamarin xamarin.forms xamarin.ios
1个回答
31
投票

调用正确的 Pop 方法

如果您使用

Navigation.PushAsync()
将页面推入导航堆栈,请使用
Navigation.PopAsync()
将页面从导航堆栈中弹出。

如果您使用

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

使用BeginInvokeOnMainThread

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

BeginInvokeOnMainThread
:

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

Device.BeginInvokeOnMainThread(async () => await Navigation.PopModalAsync());
© www.soinside.com 2019 - 2024. All rights reserved.