2017-12-18 2 views
0

In meiner Viewmodel Klasse, ich rufe eine Funktion aus dem Konstruktor. Innerhalb dieser Funktion verwende ich Userdialoges und displayalert Eigenschaften. Beide werden jedoch nicht in der Benutzeroberfläche angezeigt. Ausnahme für beide erhalten.Displayalert und userdialoges nicht in UI (Viewmodel)

Displayalert Ausnahme:

Ausnahme:> System.NullReferenceException: Objektverweis nicht auf eine Instanz eines Objekts.

UserDialogs Ausnahme:

Ausnahme:> System.ArgumentException: In Android, müssen Sie UserDialogs.Init (Aktivität) von Ihrer ersten Aktivität OR UserDialogs.Init (App) aus Ihrer benutzerdefinierten anrufen Anwendung oder bieten eine Factory-Funktion die aktuelle Top-Aktivität über UserDialogs.Init (() => liefern Top-Aktivität)

ich umgesetzt haben, auch zu bekommen th e Pull-down, um die Option zu aktualisieren. Wenn ich herunterziehe, rufe ich dieselbe Funktion auf, aber dieser Aufruf kommt nicht vom Konstruktor. Wenn Pulldown ausgeführt wird, funktionieren UserDialoges und Displayalert.

Mein Code:

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

Wie kann ich die userdialoges und displayalert zunächst aktiviert werden, wenn die Funktion von Konstruktor aufrufen?

Antwort

0

Gelöst durch Kommentar der Funktionsaufruf in Konstruktor und innerhalb von onappearing(), rufen Sie die gleiche Funktion mit der Viewmodel-Klasse-Objekt (in XAML.CS-Datei nicht in ViewModel hinzugefügt).

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