在App.cs上展示DisplayAlert(Xamarin)

时间:2018-04-06 08:10:56

标签: c# xamarin

我目前正在尝试不断跟踪用户是否已连接到互联网。

我有代码来检查连接性,我希望能够在用户使用应用程序时连接到互联网时显示弹出窗口。

但是,我无法将DisplayAlert置于App.cs(错误:上下文中不存在DisplayAlert)。

我可以知道为什么会这样吗?

App.cs

public App()
{
    InitializeComponent();

    var seconds = TimeSpan.FromSeconds(1);
    Xamarin.Forms.Device.StartTimer(seconds,
        () =>
        {
            CheckConnection();
        });
}

private async void CheckConnection()
{
    if (!CrossConnectivity.Current.IsConnected)
        await DisplayAlert("No Internet Connection", "Please connect to Internet", "OK");
    else
        return;
}

2 个答案:

答案 0 :(得分:8)

DisplayAlert是页面类的一种方法。 但是,您的应用有一个' MainPage'属性。因此,只要设置了主页面(在启动时设置它之后应始终如此),您可以使用

Application.Current.MainPage.DisplayAlert

或来自App.cs

MainPage.DisplayAlert

答案 1 :(得分:-1)

所以您可以这样做,为我工作

Device.BeginInvokeOnMainThread(async () => { await Application.Current.MainPage.DisplayAlert("No Internet Connection", "Please connect to Internet", "OK"); });