我正在研究Xamarin混合应用程序,现在我正在使用MVVM体系结构。我的视图模型是“ INotifyPropertyChanged”接口类。我在这个viewmodel类上解析json数据。现在,如果无法从服务器读取json数据或需要在Alert上向用户显示错误消息,我想显示Alert。但它不起作用。我知道'DisplayAlert()'仅适用于页面类。因此,如何从ViewModel页面显示警报。我也尝试过,但是没有用;
await App.Current.MainPage.DisplayAlert(Constant.KSorry, Constant.KNoDataAvailable, Constant.KOK);
答案 0 :(得分:1)
您可以尝试将代码放入public class YourElement : FrameworkElement
{
protected override void OnRender(DrawingContext dc)
{
base.OnRender(dc);
}
}
喜欢
InvalidateVisual()
答案 1 :(得分:0)
从主线程显示警报应该在ViewModel'INotifyPropertyChanged'接口类中起作用。检查代码
if (arrayAlbumList == null) {
Device.BeginInvokeOnMainThread(() => {
App.Current.MainPage.DisplayAlert(Constant.KSorry,
Constant.KNoDataAvailable, Constant.KOK);
});
}
else {
// binding the object here using array
}
答案 2 :(得分:0)
在 MVVM 上,我们可以尝试以下操作
DeviceDevice.BeginInvokeOnMainThread(() => { await App.Current.MainPage.DisplayAlert("Hello", "message", "OK"); });
var response = await App.Current.MainPage.DisplayAlert("Hello", "message", "OK", Cancel");
在这种情况下不需要 Device.BeginInvokeOnMainThread