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

我具有用于检查连接性的代码,并且我希望每当用户在使用该应用程序时未连接到互联网时,都能够显示一个弹出窗口。

但是,我不能将DisplayAlert放在App.cs上(错误:上下文中不存在DisplayAlert)。

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

应用程式

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;
}

最佳答案

DisplayAlert是页面类的方法。
但是,您的应用程序具有“MainPage”属性。因此,只要设置了主页(在启动过程中设置完后总是如此),您就可以使用

Application.Current.MainPage.DisplayAlert

或从App.cs内部
MainPage.DisplayAlert

关于c# - 在App.cs(Xamarin)上显示DisplayAlert,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49688278/

10-08 21:51