如何从视图模型到视图显示错误或信息(Toast、消息框..)。
注意:我正在为 Droid、Touch 和 Wp8 开发一个跨平台应用程序。
做这件事有很多种方法:
使用信使或自定义对象/事件链将错误事件通知发送到 UI。这显示在https://github.com/MvvmCross/MvvmCross-Tutorials/tree/master/Sample%20-%20BestSellers/BestSellers中,并在 MvvmCross 的警报或弹出窗口中讨论
提供并使用“对话服务”——如https://github.com/brianchance/MvvmCross-UserInteraction提供的服务——以显示消息
使用“交互模式” - 就像 Prism 公开的那样 - 请参阅MvvmCross 对话框
我们已成功尝试使用插件“Acr.MvvmCross.Plugins.UserDialogs”,它运行良好且具有许多功能。
例如,我们在启动屏幕中有一个检查连接模块,我们使用插件来显示错误消息:
public override void ReportError(string error)
{
InvokeOnMainThread(() =>
{
var toast = Mvx.Resolve<IUserDialogService>();
toast.Toast("Network error, please restart the application", 5);
});
}
顺便说一句,如果您对其他有用的插件感兴趣,请查看此页面: https ://github.com/aritchie/acrmvvmcross