我正在开发Xamarin混合应用程序,现在我正在使用MVVM架构。我的视图模型是'INotifyPropertyChanged'接口类。我在这个viewmodel类上解析json数据。现在,如果无法从服务器读取JSON数据,或者需要在Alert上向用户显示错误消息,我想显示警报。但它不工作。我知道'DisplayAlert()'将只在页面类上工作。那么我如何从ViewModel页面显示警报呢?我也试过这个,但不起作用;
await App.Current.MainPage.DisplayAlert(Constant.KSorry, Constant.KNoDataAvailable, Constant.KOK);
3条答案
按热度按时间vuv7lop31#
您可以尝试将代码放在
Device.BeginInvokeOnMainThread
中比如
xqkwcwgp2#
从主线程显示警报应在ViewModel“INotifyPropertyChanged”接口类中工作。检查密码
wixjitnu3#
在MVVM上,我们可以尝试以下操作
1.当你只有一个警报按钮时
DeviceDevice.BeginInvokeOnMainThread(() => { await App.Current.MainPage.DisplayAlert("Hello", "message", "OK"); });
1.当警报对话框上有多个按钮时
var response = await App.Current.MainPage.DisplayAlert(“Hello”,“message”,“OK”,“Cancel”);
在这种情况下不需要Device.BeginInvokeOnMainThread