【发布时间】:2016-05-11 16:33:52
【问题描述】:
在ViewModel 中,我使用Save 方法检查isValid 属性。
如果isValid 是false,那么我想显示一条错误消息。
由于AlertDialog 是特定于平台的,我想知道您如何处理ViewModel 中的这种情况?
public void Save()
{
if (isValid)
{
OnExit(this, null);
}
else
{
//issue an alert dialog here
}
}
更新
我使用了下面的plugin,并添加了如下代码行,但是它抛出了一个错误。
else
{
Mvx.Resolve<IUserInteraction>().Alert("it is not valid");
}
更新 2
Chance.MvvmCross.Plugins.UserInteraction 是一个命名空间,但它被用作类型错误。
更新 3
我添加了 Acr.UserDialogs 插件并调用如下,但我得到了同样的错误。
Mvx.Resolve<IUserDialogs>().Alert("it is not valid");
【问题讨论】:
-
您是否也将 nuget 添加到 Android 和 iOS 项目中?
-
是的,我已经添加了 PCL、Android 和 iOS。我可以在 Android 解决方案中看到
Chance.MvvmCross.Plugins.UserInteraction.Droid和Chance.MvvmCross.Plugins.UserInteraction -
我刚刚注意到Mvvmcross插件没有保持最新,一些依赖无法解决。我建议您使用不同的插件:github.com/aritchie/userdialogs 您还可以在此处找到 xamarin 插件的完整列表:github.com/xamarin/XamarinComponents
-
请看我的更新
-
尝试显示警报时是否出现异常?日志中有什么?我确定您已经这样做了,但是您是否在 PCL 项目的 app.cs 中注册了 IUserDialog ? Mvx.RegisterSingleton
(() => UserDialogs.Instance);