逗人,
我在我的项目中使用DisplayAlert来显示没有互联网连接警报。不幸的是,它没有用。
它在另一部分工作正常。我不知道它为什么会这样。
我的代码:
if (Utility.IsInternet())
{
UserTweetsList();
}
else
{
Debug.WriteLine("Enter no internet block");
DisplayAlert("Alert", "No internet connection", "Ok");
}
代码进入else块并在输出中打印“Enter no internet block”,但不显示警告消息。
可能的原因是什么?
提前致谢....
答案 0 :(得分:3)
请尝试以下代码:
Device.BeginInvokeOnMainThread(async () =>
{
await DisplayAlert("Alert", "No internet connection", "Ok");
});
答案 1 :(得分:2)
一个可能的问题是您从页面或视图外部调用DisplayAlert。在我的一个应用程序中,我有一个与我的视图分开的类,并解决此问题并调用我使用的DisplayAlert:
App.Current.MainPage.DisplayAlert(...);
答案 2 :(得分:0)
我今天遇到了困难,似乎没有任何修复对我有用。不过我已经解决了,这对我有用。在类背后的代码中,我创建了一个公共变量:
public bool deleteAccountAnswer = false;
调用deleteAccountPopup方法并在on completed事件中回调
deleteAccountPopup().OnCompleted(() => removeAccount());
删除账号弹出代码:
public System.Runtime.CompilerServices.TaskAwaiter deleteAccountPopup()
{
return Device.InvokeOnMainThreadAsync(async ()=>
{
deleteAccountAnswer = await this.DisplayAlert("Account Deletion", "You have sure you want to delete the selected account?", "Yes", "No");
}).GetAwaiter();
}
...回电
public void removeAccount()
{
if (deleteAccountAnswer) // was yes not no
{