• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Displayalert和userdialoges不显示在用户界面(Viewmodel)

xamarin.forms 来源:Sreejith Sree 4次浏览

在我的viewmdodel类中,我从构造函数调用一个函数。在该函数内部,我使用了Userdialoges和displayalert属性。但两者都没有在用户界面中显示。两者都得到例外。Displayalert和userdialoges不显示在用户界面(Viewmodel)

Displayalert例外:

异常:> System.NullReferenceException:对象未设置为 一个对象的一个​​实例。

UserDialogs例外:

异常:> System.ArgumentException:在Android中,你必须从你的第一个活动或 UserDialogs.Init(应用程序)从您的自定义调用 UserDialogs.Init(活动)应用程序或提供 工厂功能经由 UserDialogs.Init(()=>供给顶活性)

我也个实施来获得当前的顶部活动e拉下来刷新选项。当我拉下来时,我调用了相同的函数,但该调用不是来自构造函数。所以当下拉UserDialoges和Displayalert正在工作。

我的代码:

UserDialogs.Instance.ShowLoading("Loading"); 
    await Application.Current.MainPage.DisplayAlert("Alert", "No Internet Connection", "Ok"); 

所以,我怎么能激活userdialoges和displayalert最初从调用构造函数时?

===========解决方案如下:

通过评论解决的构造和onappearing()内的函数调用,使用视图模型类对象调用相同的功能(在xaml.cs添加的文件不在视图模型)。

protected override async void OnAppearing() 
     { 
     dbvm.UserList(); //dbvm is viewmodel class object 
     } 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)