OK, also habe ich defaultPage, loginPage und pinCodePage.NavigateAsync im Konstruktor funktioniert nicht nach absoluter NavigateAsync
Ich navigiere zu DefaultPage von der OnInitialized-Methode. Das gewünschte Verhalten von hier ist, dass ich überprüfe, ob sie eingeloggt sind, wenn sie nicht dann auf die Login-Seite navigieren. Nach der Anmeldeseite müssen sie einen Pin setzen, um zur pinCodePage zu navigieren, und dann zur Standardseite zurückkehren. Jedes Mal, wenn die App geöffnet wird (außer bei Fortsetzen), sollte nach dem PIN-Code gefragt werden, damit Sie von defaultPage aus dorthin navigieren können. Die letzte Sache ist, dass sie sich auf der pinCodePage abmelden können, die sie zur loginPage bringen sollte.
Ich dachte, der einfachste Weg, dies zu tun, war eine Überprüfung in der defaultPage -Konstruktor, die zu loginPage navigieren würde, wenn nicht angemeldet oder auf die pinCodePage, wenn sie sind. (Ich dachte nicht, dass OnNavigatedTo gut war, weil es nach dem Zurückkommen von der pinCode-Seite ausgelöst werden würde, ohne dass irgendeine Logik es stoppen würde.) Das einzige Problem war, dass GoBackAsync den Konstruktor nicht erneut traf. Um dies zu beheben, habe ich absolute Navigation von der loginPage zur defaultPage versucht. Diese absolute Navigation von loginPage zu defaultPage funktioniert (nachdem viel über die Syntax für die Verwendung der URI rätselhaft ist, wird nirgends erklärt) aber defaultPage würde nicht zu pinCodePage navigieren, obwohl NavigateAsync im defaultPage-Konstruktor aufgerufen wird.
Kann jemand erklären, warum dieser NavigateAsync nach der absoluten Navigation nicht funktioniert?
Zunächst einmal, vielen Dank für die Antwort und für Prismenformen Ich mag es wirklich. Ich wusste, dass das GoBackAsync nicht funktionieren würde, ich erklärte nur die Situation. Was den URI-Kommentar betrifft, so war mir als Junior-Programmierer nicht klar, was das URI-Format sein sollte. Ich versuche nicht zu hassen, nur eine Perspektive für Dinge zu geben, mit denen andere Probleme haben könnten. Zu sehen, was im Grunde eine URL für eine Webseite ist, verwirrte mich einfach. Ich habe das Schema und irgendetwas vor dem 3. Schrägstrich nicht verstanden und es geht darum, was du nach dem Schrägstrich hast. – Troto
Der Grund, warum ich die defaultPage als erste Seite habe, liegt daran, dass meiner Meinung nach der Login und der PIN-Code modale Operationen sind, die über die erste Seite präsentiert werden sollten. Wenn das falsch ist, werde ich meinen Fehler gerne korrigieren. Warum ist Navigation in einem Konstruktor auch schlecht? Als eine Bonusfrage, während ich dich hier habe, gibt es jemals einen Grund, auf einen asynchronen Navigationsaufruf zu warten? – Troto
Gibt es eine akzeptable Möglichkeit, die Navigation aufzurufen, wenn ein View-Modell erstellt wird, anstatt onnavigated zu verwenden? – Troto