如何在 Xamarin.Forms 中获取当前 Page/View 或最上面的 Page/View

How to get Current Page/View or topmost Page/View in Xamarin.Forms

我想在 Xamarin.Forms 项目中出现未处理的错误时显示 AlertDialog(DisplayAlert)

如何获取当前页面实例?

要解决这个问题并获得更大的灵活性,请将 'ACR User Dialogs' 包添加到您平台的每个项目中。

然后您就可以在任何地方使用它了:

await UserDialogs.Instance.AlertAsync ("Your question has been successfully sent", "Thankyou");

您需要保留您提到的主页的引用。有几种方法可以做到这一点。

  1. 您可以在 App.cs 文件中对其进行静态引用,该文件实际上已经存在,因为它继承自具有以下内容的应用程序:
App.Current.MainPage
  1. 如果您使用像 MVVMLight 这样的 MVVM 助手,您会将页面传递给服务,以便它保留对它的引用。

  2. ACR UserDialogs 是一个对话框包,在扩展和添加不同类型的对话框时也能提供帮助