如何在Xamarin.Forms中获取当前页面/视图或最顶层的页面/视图

时间:2015-12-09 15:48:28

标签: xamarin xamarin.forms

我想在发生未处理的错误时在Xamarin.Forms项目中显示AlertDialog(DisplayAlert)。 但我不知道如何使用Xamarin API获取当前页面实例。 另外我不知道我应该选择哪个关键字来搜索解决方案 在谷歌。

2 个答案:

答案 0 :(得分:5)

如上所述,您需要保留主页的引用。有几种方法可以做到这一点。

  1. 您可以在App.cs文件中对它进行静态引用,该文件实际上已经存在,因为它继承自Application:

    App.Current.MainPage

  2. 如果您使用像MVVMLight这样的MVVM助手,则将页面传递给服务,以便保留对它的引用。

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

答案 1 :(得分:1)

为了解决这个问题并提供更多灵活性,请在每个平台的项目中添加“ACR用户对话框”。

然后你可以在任何地方使用它:

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